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