엔지니어로 가는 길

JAVA Error와 Checked/Unchecked Exception 본문

프로그래밍/Java

JAVA Error와 Checked/Unchecked Exception

탐p슨 2020. 9. 11. 22:18
728x90

Error

java.lang.Error 클래스의 서브 클래스들이 해당된다. 에러는 시스템에 뭔가 비정상적인 상황이 발생했을 경우 사용된다. 그래서 주로 JVM에서 발생시킨다. 애플리케이션 코드는 에러를 잡으려고 하면 안 된다. 아무런 대응 방법이 없기 때문이다.

 

Exception

java.lang.Exception 클래스와 그 서브클래스들이 해당된다. 에러와 달리 애플리케이션 코드의 작업 중 예외상황이 발생했을 경우 사용된다. Exception 클래스는 체크 예외와 언체크 예외로 구분되는데, 전자는 RuntimeException을 상속하지 않은 것들이고, 후자는 상속한 클래스들을 말한다.

 

Checked Exception(체크 예외)

일반적으로 예외라고 하면 Exception 클래스의 서브클래스 중에서 RuntimeException을 상속하지 않은 것만을 말하는 체크 예외라고 생각해도 된다. 체크 예외가 발생할 수 있는 메소드를 사용할 경우 반드시 예외를 처리하는 코드를 함께 작성해야 한다.

 

Unchecked Exception(언체크 예외)

java.lang.RuntimeException 클래스를 상속한 예외들은 명시적인 예외처리를 강제하지 않기 때문에 언체크 예외(또는 런타임 예외)라고 불린다. 주로 프로그램에 오류가 있을 때 발생하도록 의도된 것들이다. NullPointerException이나 IllegalArgumentException 등이 있다. 피할 수 있지만 개발자가 부주의해서 발생할 수 있는 경우 발생하도록 만든 것이 런타임 예외다.

 

 

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

 

 

참고

토비의 스프링 3.1 vol1

728x90

'프로그래밍 > Java' 카테고리의 다른 글

Java 9 Modules에 대해 알아보자  (0) 2020.09.29
자바 Type Inference  (0) 2020.09.23
JAVA SE 8 이후의 Annotations  (0) 2020.09.11
JAVA 어노테이션에 대해 알아보자  (0) 2020.09.05
JAVA 디폴트 메소드  (0) 2020.08.30
Comments