Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 1.01 KB

14_예외 처리.md

File metadata and controls

48 lines (37 loc) · 1.01 KB

예외 처리

c++의 예외 처리는 try, catch, throw로 가능합니다. 각각 예외를 발견, 처리, 던지는 역할을 합니다.


try {
    if (num == 0)
        throw num;
    cout << "실행되지 않음" << endl;
}
catch (int expn) {
    // 예외 처리
}
  • throw가 실행되면 바로 catch 블록으로 넘어갑니다.
  • 즉, throw의 밑에 있는 코드는 실행되지 않습니다.

void message() {
    throw std::runtime_error("런타임 에러");
}
try {
    message();
}
catch (std::exception e) {
    cout << e.what() << endl;
}
// expected output
런타임 에러
  • try 내의 함수에서 예외를 던져도 catch가 실행됩니다.

  • 만약 message 함수내에서 실행한 함수에서 예외를 던져도 catch가 실행됩니다.

  • 사용자가 정의하지 않은 예외 클래스는 std::exception으로 대부분 받을 수 있습니다.

  • what() 함수는 던져진 예외의 인자로 받은 문자열을 의미합니다.