나는 비슷한 질문을 여기에두고 있지만 확신 할 수 없다.여러 곳에서 예외의 전체 계층 구조를 처리하는 좋은 방법
여러 함수가 있다고 가정하면 전체 계층 구조의 예외가 발생할 수 있습니다. N 예외 클래스 유형을 예로 들어 보겠습니다.
이제 예외 코드를 여러 번 쓰는 대신에 Ncatch
-block으로 여러 코드를 작성하는 것이 좋습니다.
내가 달성하는 (매우 못생긴) 방법은 매크로를 사용하는 것입니다. 다른 아이디어?
모든 기능을 다른 입력/출력 매개 변수이며, 반환 유형
편집
예, 모든 예외가 같은 기본 클래스를 가지고 - 그것이 계층 구조입니다. 그러나 다른 클래스에는 다른 추가 정보가 있습니다.
예 :
try
{
object->execute(...);
}
catch(type1& ex)
{
// ...
}
//...
catch(typeN& ex)
{
// ...
}
// some other code
// and again:
try
{
object->do_something_else(...);
}
catch(type1& ex)
{
// ...
}
//...
catch(typeN& ex)
{
// ...
}
// and so on
예외가 동일한 기본 클래스를 갖는 경우 하나의 처리기 만 작성할 수 있습니다. 다른 기능을 가진 예외를 어디서 처리하려고하는지 명확하지 않습니다. –
@KirillKobelev - 기본 클래스가 동일합니다. 예, 계층 구조입니다. 그러나 다른 클래스에는 다른 추가 정보가 있습니다. 자세한 내용은 내 질문을 편집하겠습니다. –