본문 바로가기
개발

checked / unchecked Exception

by 플리트우드 2024. 12. 6.

출처 : https://cheese10yun.github.io/checked-exception/

 

예외(Exception) 란 입력 값에 대한 처리가 불가능하거나, 프로그램 실행 중에 참조된 값이 잘못된 경우 등 정상적인 프로그램의 흐름을 어긋나는 것을 말한다. 그리고 자바에서 예외는 개발자가 직접 처리할 수 있기 때문에 예외 상황을 미리 예측하여 핸들링할 수 있다.

 

한편, 에러(Error) 는 시스템에 무엇인가 비정상적인 상황이 발생한 경우에 사용된다. 주로 자바 가상머신에서 발생시키는 것이며 예외와 반대로 이를 애플리케이션 코드에서 잡으려고 하면 안 된다. (사실 잡아도 방법이 없다.) 에러의 예로는 OutOfMemoryError, ThreadDeath, StackOverflowError등이 있다.

Checked Exception

반드시 명시적으로 처리해야 하기 때문에 Checked Exception이라고 하며, try catch를 해서 에러를 잡든 throws를 통해서 호출한 메서드로 예외를 던져야 한다.

Unchecked Exception

unchecked Exception은 RuntimeException의 하위 클래스들을 의미한다.

명시적인 예외 처리를 강제하지 않는 특징이 있기 때문에 Unchecked Exception이라 하며, catch로 잡거나 throw로 호출한 메서드로 예외를 던지지 않아도 상관이 없다. ( = catch 절 안 해도 IDE에서 빨간 줄 안 뜸 )

 

'개발' 카테고리의 다른 글

직렬화  (0) 2024.12.06
Java - Synchronized  (0) 2024.12.06
자바 DB 커넥션 리소스 정리  (0) 2024.12.06
Lombok  (0) 2024.12.05
Java - Collectors.toMap()  (0) 2024.12.05