본문 바로가기

개발(합니다)/Java&Spring

Java 검사 예외(Checked) 와 비검사 예외(UnChecked)

반응형

출처 : https://www.javamadesoeasy.com/2015/05/exception-handling-exception-hierarchy.html

 

검사와 비검사

  • Java의 예외 처리는 Throwable을 모두 상속하고 있으며 크게 Exception과 Error로 나뉜다.
  • Exception은 Checked형의 검사 예외이고 Error, RuntimeException은 UnChecked형의 비검사 예외이다.

검사 예외

  • 개발자가 명시해야 하는 부분은 검사 예외인 Exception으로 어플리케이션 수행 중에 일어날법한 예외를 검사하고 대비하라는 목적으로 사용한다.
  • 대표적으로 InterruptedException이며 sleep()함수는 interrupt() 함수 호출 시 interruptedException이 발생 할 수 있으니 대비해야 한다.
  • 과도하게 예외 검출을 하면 시스템의 성능이 떨어진다.

비검사 예외

  • Error는 시스템적인 예외를 의미하고 개발자가 예외(try-catch)를 잡지 말라고 하며 심각한 상황에서 발생하는 예외이다.
  • 시스템은 치명적이므로 일어나서는 안되지만 만약 발생하면 해결하기 위해 로그를 남기도록 한다.
  • Exception을 상속 받았지만 RuntimeException은 Unchecked로 비검사 예외이다. 헷갈리지 말자.
반응형