[Java] RuntimeException 은 컴파일 오류를 내지 않는다. (부제 - Exception)

김태훈·2023년 8월 4일
0

[자바의 정석 3판] 책을 읽어보다가, 당연하지만, 깊이 있게 생각하지 않은 내용이 있어서 적는다.

Exception은 두가지로 나뉘는데, Runtime Exception과 Runtime Exception이 아닌 Exception 클래스 로 나뉜다.

두가지 차이를 알아보자.

1. Runtime Exception

프로그래머의 실수로 발생하는 예외이다. 예를들어 null을 참조하면 NullPointerException이 발생하거나, 어떤수를 0으로 나누면 ArithmeticException이 발생하는 그러한 예외들이 그러하다.
따라서,

고의로 RuntimeException을 발생시켜도, 절대로 컴파일 오류를 내지 않는다.

이게 엄청 중요한 말이라고 생각한다. 책에는 이런말이 있다.

"RuntimeException클래스들에 속하는 예외가 발생할 가능성이 있는 코드에도 예외처리를 필수로 해야한다면, 예외처리를 무진장 많이 하게 될것이다..."

따라서 Runtime Exception은 컴파일에 검사하지 않으므로 Unchecked 예외라고 한다.

2. Runtime Exception이 아닌 Exception들

이 친구들은 보통, 사용자의 실수와 같은 것들에 의해 발생하는 예외이므로, 컴파일할 때 미연에 방지한다. 따라서 이경우는 Checked Exception이라고 한다.

profile
기록하고, 공유합시다

0개의 댓글