이와 같은 코드를 작성해야하는 이유가 있습니까? try 블록이 명시 적으로 예외를 throw하는 코드를 포함하지 않은 경우 예외를 다시 throw해야하는 이유가 있습니까?
try {
foo();
} catch (final Exception e) {
throw e;
}
foo()
의 선언이 나는이 적합 할 수 있습니다 이유를 명시 적으로 단지보다는 예외 처리 좋을 것 얻을 void foo() throws Exception
경우
foo()
은 확인 된 예외를 throw하므로 catch되거나 throw되어야 함).
그러나 foo()
의 선언에서 예외 인 throws
이 없다면이 점이 있습니까? 아니면 코딩이 잘못 되었습니까?
catch하지 않으면 새로 throw 된 예외처럼 호출 스택이 올라갑니다. 일반적으로 로그에 쓰고 싶거나 예외를이 컨텍스트에서 좀 더 의미있는 것으로 변경하려는 경우에만 catch 및 rethrow합니다. –
예를 들어 로깅과 같은 예외가 발생하면이를 전달할 수 있습니다. – OldProgrammer
또는 어떤 종류의 고급 예외로 랩핑 할 수 있습니다. – Mysterion