[완료]C++ 에러처리 관련 질문입니다.
글쓴이: ag315 / 작성시간: 목, 2009/03/12 - 1:41오후
C++ 에러처리 관련하여
함수 안에서 그냥 throw 하는것 하고..
함수 선언부에 throw 가 붙어있는경우 어떻게 다른가요?
아래는 테스트를 위해서 간단하게 만든겁니다.
func1() 과 func2() 는 무슨차이가 있는걸까요?
class Exception {
private:
int ErrorNum;
public:
Exception(int a) : ErrorNum(a) {}
void PrintError() {
cout << ErrorNum << " is generated !!!" << endl;
}
};
void func1() {
throw Exception(1);
}
void func2() throw(Exception) {
throw Exception(2);
}
int main() {
try {
if (time(NULL) % 2 == 0)
func1();
else
func2();
} catch (Exception &e) {
e.PrintError();
}
return 0;
}Forums:


표시해놓은 겁니다. ^_^
쓰는 사람한테 이런 예외가 날라갈 수 있으니 준비하라는 그런 표식.
또 한가지는 지정해 놓은 예외가 아닌 다른 예외는 치명적 오류이니 그대로 종료된다는... 그걸 붙잡는 함수는 공부하시면 나옵니다. ^_^
감사합니다.
답변 감사합니다.
문서를 읽다보니까 답이 나오더군요.
뒷쪽에 나오는 내용인데 선급하게 질문을 드렸더라구요.^^
댓글 달기