출처 : https://data-flair.training/blogs/java-exception/
Throwable
Throwable 클래스는 예외처리를 할 수 있는 최상위 클래스이다.
Error
- Error는 컴퓨터 하드웨어의 동작의 오작동 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 말한다.
- Error는 JVM 실행에 문제가 있다는 것이라, JVM 위에서 실행되는 프로그램을 아무리 잘 만들었다고 해도 실행이 불가해진다.
- 흔히 보는 Out Of Memory Error가 있다.
Exception?
- 자바에서 사용자의 잘못된 조작 또는 개발자의 잘못된 코드로 인해 발생하는 프로그램 오류를 말한다.
- 이러한 오류로 인해 전체 시스템이 무너지는 것을 방지하기 위한 기술이 예외 처리(Exception Handling) 이라고 한다.
일반 Exception (Checked Exception)
- java 소스를 컴파일하는 과정에서 예외처리 코드가 필요한지 검사
- 없다면 컴파일 에러 발생 (예외처리 필수)
- 보통은 JVM 외부와의 통신할 때 자주 사용된다.
- Exception을 상속, Runtime Exception은 상속 받지 않음
- ex > IOException, SQLException...
실행 Exception (Runtime Exception)
- 컴파일하는 과정에서 예외코드를 검사하지 않는 예외
- Exception을 상속받은 RuntimeException을 상속받는다. ( 둘 다 상속받아야한다.)
- ex > Null Point Exception, Index Out Of Bound Exception...