클래스 X가 있습니다. X 클래스의 method()
메소드 SomeException
을 던졌습니다.정확하고 효율적인 프로그래밍 스타일
어떤 예외 처리 방법이 더 나은지 궁금합니다. try-block 메서드를 둘러싼 경우 예외 및 모든 종속성을 throw하거나 try-block 외부에서 종속성을 유지하지만 실패 후 메서드에서 반환합니다.
1.
public void test() {
X x = new X();
try {
T temp = tx.method();
temp.doWhatever();
}
catch(SomeException e) { handleException(e); }
}
또는
2.
public void test() {
X x = new X();
T temp = null;
try {
temp = tx.method();
}
catch(SomeException e) {
handleException(e);
return;
}
temp.doWhatever();
}
편집 : (주석 후)
나는 그렇게 내 코드를 더 무엇 undersand된다 excetuted됩니다 다음 일은 catch
그래서
1. tx.method()
이 예외가 발생합니다 - 블록. temp
은 여전히 null
입니다. 프로그램이 temp.doWhatever();
으로 건너 뜁니다. 따라서 NullPointerException
이 없으므로 매트가 없습니다. 나는이 두 가지 방법과 어떤 차이가 표시되지 null
옵션 1이 내게 훨씬 더 분명해 보입니다 – Eric
(1) 왜 '공개 무효 테스트'이고 다른 하나는 '공개 정적 무효 메인'입니까? (2) 두 번째 코드 블록에서 'temp.doWhatever'는 예외가 잡히지 않는다는 것을 알 수 있습니까? –
@notfed : 귀하의 질문 (2)에 대해, OP는 doWhatever에 대해 아무 말도하지 않았지만 Exception을 던졌습니다. (아무 것도 던지지 않을 것이라고 가정 할 수 있습니다). – nhahtdh