예외 처리에서 함수를 두 번 쓰는데요...
글쓴이: dltkddyd / 작성시간: 목, 2012/02/23 - 9:43오후
예외 처리 보니, 이상해 보이는 코드가 보입니다.
class E1;
class E2;
void f() throw(E1) {
....
}
throw라는 것은 예외 처리에서 try라는 블록에 포함되어 catch 블록으로 E1이라는 것을 전달하는 것으로 아는데요, 저런 경우는 try라는 블록에 포함되어 있지 않은 경우라 제대로 된 예외처리라 할 수 없지 않나요. throw(E1)을 f 함수의 블록 안으로 넣어야 되는 것이 아닌지 궁금합니다.
그리고 throw라면 값을 던져 넣어야 될 것 같은데요, 그러니까 객체라던지 변수를 던져야 될텐데 저 경우는 클래스 type, 즉 사용자 정의 자료형을 던지고 있습니다. 그래도 되는 것인지 궁금합니다.
예외처리를 하는 일반적인 방법이 있으면 좀 알려주세요. 책 봐도 잘 이해가 안 되는 부분이 많네요...
Forums:
C++ 인가요? 이것은 f() 은 E1
C++ 인가요?
이것은 f() 은 E1 exception 만 throw 할 수 있다는 뜻입니다. 딴 exception 이 f() 안에서 throw 되면 실수거나 예상하지 못한 경우라고 명시하는 것입니다.
댓글 달기