롬복 @SneakyThrows

개요

Java는 확인된 예외를 다음과 같이 처리합니다.

가공 없이는 컴파일이 불가능합니다.

  1. 메소드 선언 섹션에서 throw 키워드를 사용하십시오.
  2. try-catch 문을 사용하여 키워드를 처리하고 throw합니다.

@SneakyThrows를 사용하면 확인된 예외를 처리하지 않고 컴파일할 수 있습니다.

컴파일러를 속일 수 있다고 합니다.

모든 예외는 throw를 생성한다고 합니다.

구체적으로

실제 컴파일된 클래스 파일을 보면 try-catch 문이 자동으로 생성되어 Throwable로 처리되는 것을 확인할 수 있습니다.

//	컴파일된 .class 파일 예시
public void sneakyThrowsCheckedAndSkips() {
    try {
        throw new IOException("Checked exception");
    } catch (Throwable var2) {
        throw var2;
    }
}

사용

  • @SneakyThrows(예외 클래스 이름.클래스) : 다음과 같이 예외를 지정할 수도 있습니다.