예외(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 |