Java 예외 처리 Exception vs Throwable

min·2022년 1월 12일
0

junit assertion에 대한 에러 메세지를 catch해야 하는 상황이 생겼는데 Exception으로 잡히지 않아서 검색을 하니까 Throwable 클래스로 잡으라고 했다. 그래서 해보니까 아주 잘됬다.

그래서 찾아보니까 Throwable이 예외처리의 최상위 클래스였다! 어리석음..

Error(에러) vs Exception(예외)

  • 에러 : 시스템 레벨에서 발생, 개발자가 조치를 할 수 없는 수준의 에러
  • 예외 : 개발자가 구현한 로직에서 발생하여 JVM은 정상이여서 로직 변경 등으로 처리 할 수 있는 문제

RuntimeException 클래스를 상속 받는 클래스들은 치명적인 예외 상황을 발생시키지는 않으므로 try-catch문을 사용하기 보다는 예외가 발생하지 않도록 구현해야함.
그 외 Excpetion에 속하는 자식 클래스들은 try-catch를 이용하여 예외처리 필요함.

profile
발등에 불이 따뜻하다..

0개의 댓글