2009-07-09 5 views

답변

1

Java의 모든 예외가 검사됩니다. 이는 try-catch 블록에서 명시 적으로 catch되어야 함을 의미합니다.

런타임 예외를 catch 할 필요는 없습니다 (java.lang.RuntimeException). 오류 (java.lang.Error)도 마찬가지입니다.

따라서 예외가 확인됩니다. 체크하지 않으려면 RuntimeException을 서브 클래스하십시오.

6

Exception을 확장하면 "확인"됩니다. 즉, 던져 버리면 메서드 시그니처에서 캐치되거나 선언되어야합니다.

체크되지 않은 예외는 RuntimeException을 확장하므로 선언하거나 캐치 할 필요가 없습니다. Error 또는 그 서브 클래스의 1 개를 확장하는 것으로, 체크되지 않는 예외를 작성할 수도 있습니다 만, 이러한 예외는, JDK에서 사용하기 위해서 예약되고 있습니다.

1

당신이 보여 예외는 예외를 확인하고 을 잡은 또는 thrown로 선언해야합니다 중 하나입니다. JDK에 예비로 의미

RuntimeException을 확장 엄격히 준수 아니지만
Class MyOwnException extends RuntimeException 
{ 
    ... 
} 

:

대안은 다음과 같이 선언 된 않은 확인이 끝난 예외가 될 것입니다.

+0

스프링은 RuntimeExceptions에 대한 모든 예외를 래핑합니다. 확인 된 예외 대 체크되지 않은 예외에 대한 문제는 다소 논쟁의 여지가 있습니다. – kgiannakakis

+0

@kgiannakakis - '어떻게 든 논란이되는'말 : –

관련 문제