본문 바로가기

Java

[Java] Checked Exception, Unchecked Exception

예외(Exception)

- 입력 값에 대한 처리가 불가능하거나, 프로그램 실행 중에 참조된 값이 잘못된 경우 등, 정상적인 프로그램의 흐름을 어긋나는 것을 만하며, 상황을 미리 예측하여 핸들링할 수 있다.

- 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

에러(Error)

- 시스템에 무엇인가 비정상적인 사황이 발생한 경우에 사용된다.

- 프로그램 코드에 의해서 수습될 수 없는 심각한오류 (OutOfMemoryError, ThreadDeath, StackOverflowError) 등이 있다.

예외 구분

- Exception은 Checked Exception과 Unchecked Exception으로 구분할 수 있다.

- RuntimeException을 상속하지 않은 클래스는 Checked Exception, 반대로 상속한 클래스는 Unchecked Exception으로 분류할 수 있다.

- RuntimeException은 Exception 클래스의 하위 클래스이기 때문에 Exception의 일종이기도 하지만, 명시적으로 예외 처리를 하지 않아도 되기 때문에 RuntimeException과 이를 상속한 클래스를 조금 특별하게 취급한다. 

 

- 자바에서 예외는 RuntimeException을 상속하지 않고 꼭 처리해야 하는 Checked Exception과 반대로 명시적으로 처리하지 않아도 되는 Unchecked Exception로 구분할 수 있다.

'Java' 카테고리의 다른 글

[Java] == 연산자 & equals() 차이점  (0) 2022.05.12
[Java] toCharArray(), charAt()  (0) 2022.01.25
[Java] 멀티 catch 블록  (0) 2022.01.19
[Java] printStackTrace() 와 getMessage()  (0) 2022.01.19
[Java] 비트 연산자  (0) 2022.01.19