내가 선언하면 클래스CustomException 체크 또는 체크되지 않은
Class MyOwnException extends Exception
{
}
이것은 체크 또는 체크되지이다 예외?
내가 선언하면 클래스CustomException 체크 또는 체크되지 않은
Class MyOwnException extends Exception
{
}
이것은 체크 또는 체크되지이다 예외?
Java의 모든 예외가 검사됩니다. 이는 try-catch 블록에서 명시 적으로 catch되어야 함을 의미합니다.
런타임 예외를 catch 할 필요는 없습니다 (java.lang.RuntimeException). 오류 (java.lang.Error)도 마찬가지입니다.
따라서 예외가 확인됩니다. 체크하지 않으려면 RuntimeException을 서브 클래스하십시오.
Exception을 확장하면 "확인"됩니다. 즉, 던져 버리면 메서드 시그니처에서 캐치되거나 선언되어야합니다.
체크되지 않은 예외는 RuntimeException을 확장하므로 선언하거나 캐치 할 필요가 없습니다. Error 또는 그 서브 클래스의 1 개를 확장하는 것으로, 체크되지 않는 예외를 작성할 수도 있습니다 만, 이러한 예외는, JDK에서 사용하기 위해서 예약되고 있습니다.
당신이 보여 예외는 가 예외를 확인하고 이을 잡은 또는 thrown
로 선언해야합니다 중 하나입니다. JDK에 예비로 의미
RuntimeException
을 확장 엄격히 준수 아니지만
Class MyOwnException extends RuntimeException
{
...
}
:
대안은 다음과 같이 선언 된 않은 확인이 끝난 예외가 될 것입니다.
스프링은 RuntimeExceptions에 대한 모든 예외를 래핑합니다. 확인 된 예외 대 체크되지 않은 예외에 대한 문제는 다소 논쟁의 여지가 있습니다. – kgiannakakis
@kgiannakakis - '어떻게 든 논란이되는'말 : –