try-catch 로 처리할 수 있음| 종류 | 설명 | 예시 | throws 필요 여부 |
|---|---|---|---|
| ✅ Checked Exception | 반드시 처리하거나 던져야 하는 예외 | IOException, SQLException, ParseException 등 |
✔ 필요 |
| ⚠ Unchecked Exception | 런타임 시 발생, 명시 안 해도 됨 | NullPointerException, IllegalArgumentException 등 |
❌ 생략 가능 |
| 상황 | 방법 |
|---|---|
| 메서드 안에서 해결할 수 있는 예외 | try-catch로 직접 처리 |
| 호출자에게 처리를 맡기고 싶을 때 | throws 사용해서 위임 |
| 라이브러리, 프레임워크 코드 작성 시 | 명확한 API 명세를 위해 throws로 문서화 |
throws는 예외가 발생할 수 있음을 문서화하는 역할Checked Exception은 반드시 throws로 명시하거나 try-catch로 처리해야 함throws는 예외의 전가이며, 호출자에게 예외 처리 작업을 넘기는 것