개요
JAVA 에서는 checked 예외를 다음과 같이 처리한다. 처리되지 않으면 컴파일이 불가능하다.
- 메소드 선언부에 throw 키워드로 처리
- try-catch 문과 throws 키워드로 처리
@SneakyThrows 는 checked 예외를 처리하지 않아도 컴파일이 가능하게 해준다. 컴파일러를 속인다고 표현한다. 모든 예외에 대해 throw 를 발생시켜준다고 한다.
구체적으로
실제 컴파일된 class 파일을 보면 try-catch 문이 자동으로 생성되고 Throwable 로 처리하는 것을 볼 수 있다.
// 컴파일된 .class 파일 예시
public void sneakyThrowsCheckedAndSkips() {
try {
throw new IOException("Checked exception");
} catch (Throwable var2) {
throw var2;
}
}
사용
- @SneakyThrows(예외클래스명.class) : 이런식으로 예외를 지정할 수도 있다
'Spring' 카테고리의 다른 글
| Spring vs Spring Boot (0) | 2023.04.07 |
|---|---|
| Bean 으로 등록하기 (0) | 2023.04.02 |
| Spring Data Jpa 의 Pagination (0) | 2023.03.01 |
| @Repository 어노테이션 (1) | 2023.02.27 |
| JPQL (0) | 2023.02.20 |