2016-08-08 3 views
1

제 질문은 모든 try-catch 블록에 대해 catch(Exception e)이어야합니다. 그것이 모든 예외를 잡을 것이라는 것을 알면 ... 자바에서 권장되는 코딩의 이런 유형이거나 단지 발생하는 것으로 알려진 예외를 잡아야 만합니다.자바에서 모든 try catch 블록에 catch (Exception e)를 써야합니까?

아래의 예를 고려하십시오.

try { 
    //something 
} catch (NumberFormatException ne) { 
    //do something 
} catch (Exception e) { 
    log.error(e); 
} 
+0

* 발생하는 것으로 알려진 예외 만 잡아야합니다. * 처리하려는 내용 만 잡습니다. 다른 예외가 계속 발생할 수 있습니다. – Manu

답변

1

아니요. 이것은 좋지 않습니다. 구현 전에 던져 질 예외를 확인하십시오. 당신의 방법에서 던지고있는 예외 만 잡아라.

코드를 철저히 단위 테스트하고 식별하십시오.

0

예. 한 번 시도 할 때 여러 번 잡을 수 있습니다. 그러나 계층 구조는 제네릭 형식에보다 구체적이어야합니다.

나는 또한 전적으로 Tejas의 대답에 동의했다.

관련 문제