개요
Java는 확인된 예외를 다음과 같이 처리합니다.
가공 없이는 컴파일이 불가능합니다.
- 메소드 선언 섹션에서 throw 키워드를 사용하십시오.
- try-catch 문을 사용하여 키워드를 처리하고 throw합니다.
@SneakyThrows를 사용하면 확인된 예외를 처리하지 않고 컴파일할 수 있습니다.
컴파일러를 속일 수 있다고 합니다.
모든 예외는 throw를 생성한다고 합니다.
구체적으로
실제 컴파일된 클래스 파일을 보면 try-catch 문이 자동으로 생성되어 Throwable로 처리되는 것을 확인할 수 있습니다.
// 컴파일된 .class 파일 예시
public void sneakyThrowsCheckedAndSkips() {
try {
throw new IOException("Checked exception");
} catch (Throwable var2) {
throw var2;
}
}
사용
- @SneakyThrows(예외 클래스 이름.클래스) : 다음과 같이 예외를 지정할 수도 있습니다.