文章目錄
- 注解的介紹
- 具體示例
注解的介紹
@SneakyThrows 是 Lombok 框架提供的一個注解,它可以用于在方法中拋出受檢異常時,不用顯式地對異常進行處理,而是將異常包裝成 RuntimeException 拋出
使用 @SneakyThrows 注解后,編譯器會幫你自動將受檢異常轉換為非受檢異常,這樣就省去了手動編寫 try-catch 語句的麻煩。會將整個方法都包在 try-catch 之中。
需要注意 ,在使用該注解時應該謹慎,因為它可能會掩蓋異常的實際問題或導致不可預期的錯誤
具體示例
import lombok.SneakyThrows;
/**
readFile 方法中使用了 @SneakyThrows 注解,并且在方法體中使用了 new FileReader(path) 這個受檢異常。
由于有了@SneakyThrows 注解的存在,我們就不需要在方法中顯式地對該異常進行處理了,而是直接將其包裝成 RuntimeException 拋出。*/
public class Example {@SneakyThrowspublic void readFile(String path) {BufferedReader reader = new BufferedReader(new FileReader(path));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}reader.close();}
}
編譯后其實就是
public class Example {public void readFile(String path) {try{BufferedReader reader = new BufferedReader(new FileReader(path));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}reader.close();}catch(Exception e) {...} }
}