[c++] throw 문의 사용
아래는 throw
문을 사용하여 예외를 발생시키는 간단한 예제입니다.
#include <iostream>
using namespace std;
void divide(int a, int b) {
if (b == 0) {
throw "Divide by zero exception";
}
else {
cout << "Result: " << a / b << endl;
}
}
int main() {
try {
divide(8, 0);
}
catch (const char* msg) {
cout << "Exception caught: " << msg << endl;
}
return 0;
}
위 코드의 divide
함수에서는 만약 b
가 0이라면 "Divide by zero exception"
이라는 문자열을 던집니다. main
함수에서는 try
블록 내에서 divide
함수를 호출하고, 해당 블록 내에서 예외가 발생할 경우 catch
블록에서 해당 예외를 처리하게 됩니다.
throw
문을 사용하여 예외를 처리할 때에는 적절한 예외 유형을 선택하고, catch
블록을 사용하여 예외를 적절히 처리하는 것이 중요합니다. 여러 종류의 예외에 대한 처리를 위해선 다형성과 상속을 이용한 예외 클래스의 사용이 필요할 수 있습니다.
참고 자료:
- https://en.cppreference.com/w/cpp/language/throw
- https://www.learncpp.com/cpp-tutorial/exceptions-throwing-exceptions/
- https://modoocode.com/239