티스토리 뷰
Java
자바 - 예외를 반환 할 때, Checked Exception, Unchecked Exception각각 처리 규칙
Kodong's blog 2025. 11. 13. 12:01규칙 부터 정리하자.
Checked Exception 리턴 → 메서드 선언부에 throws 추가!!
Unchecked Exception 리턴 → 메서드 선언부에 throws 추가할 필요 XX
이유 : Checked Exception은 처리를 강제해야하고, Unchecked Exception은 선택적으로 처리하기 때문!
( 그렇기 때문에 Checked Exception는 호출한 곳에서 반드시 예외를 처리하라고 throws를 달아주는 것! )
public Object[] getEachWaveMonsters(Integer stage, Integer wave) {
switch (wave) {
case 1 :
return new Object[8];
case 2 :
return new Object[8];
default :
return new Exception("wave가 1 또는 2가 아님!");
}
// 생략
}이런 코드가 있다고 하자. ( 코드 기능은 신경 쓰지말자, 내 블로그에서 그냥 아무거나 가져온거다 ㅋㅋ).
이 코드에서는 문제가 있다.
Exception은 Checked Exception이기 때문이다.
이때 해결방법은,
1. 예외를 Checked Exception가 아닌, Unchecked Exception으로 바꿔주든지,
2. 메서드 선언부에 throws를 추가하던지.
이다.
2번을 예제를 통해서 보자. ( 그냥 메서드 선언부에 throws Exception 추가한 것 뿐이다. )
public Object[] getEachWaveMonsters throws Exception (Integer stage, Integer wave) {
switch (wave) {
case 1 :
return new Object[8];
case 2 :
return new Object[8];
default :
return new Exception("wave가 1 또는 2가 아님!");
}
// 생략
}
---------------------------------------
오늘은 여기까지.
'Java' 카테고리의 다른 글
| 자바 - switch expression 사용 예제 ( 변수 선언에 사용, yield ) (0) | 2025.11.15 |
|---|---|
| 자바 - super()은 생성자의 첫 줄에 호출되어야한다! (0) | 2025.11.14 |
| 자바 - return 하면서 변수를 선언할 수 없음!! (0) | 2025.11.12 |
| 자바 - 제네릭 와일드 카드 기본 (0) | 2025.11.04 |
| 자바 - 오버라이딩 개념 및 예제 (0) | 2025.11.02 |