예외란 프로그램 실행 중 발생하는 비정상적인 상황으로,
이를 처리하지 않으면 프로그램이 즉시 종료됩니다.
“컴파일은 되지만, 실행 중 문제가 발생하는 상황”
| 구분 | Exception | Error |
|---|---|---|
| 발생 시점 | 실행 중 | JVM 레벨 |
| 복구 가능 | ⭕ | ❌ |
| 예시 | NullPointerException | OutOfMemoryError |
👉 개발자가 처리 대상 = Exception
Throwable
├─ Error
└─ Exception
├─ RuntimeException
│ ├─ NullPointerException
│ ├─ ArrayIndexOutOfBoundsException
│ └─ NumberFormatException
└─ Checked Exception
├─ IOException
└─ SQLException
컴파일 시점에 반드시 처리해야 하는 예외