前言
在学习过程中遇到 @SneakyThrows
注解,学习记录一下。
实现
理论部分
在代码中遇到异常时,我们通常会直接 throw
抛出异常,或者使用 try...catch()...
来捕获异常,这两者均需要我们手动来“处理”(注意这里的“处理”仅仅是抛出或者捕获,并没有真正意义上处理)。
而 Lombok
的 @SneakyThrows
注解可以帮我们忽略对异常的处理,使代码更加简洁。
实践部分
例如我们在一段实现“等待功能”的代码中,我们需要对异常进行捕获:
@GetMapping("/t7")
public void test7(){
try {
Thread.sleep(1000);
} catch (Exception e){
System.out.println(e.getMessage());
}
}
或者直接把异常抛出:
@GetMapping("/t7")
public void test7() throws InterruptedException {
Thread.sleep(1000);
}
而使用 @SneakyThrows
注解则可以简化代码,忽略对异常的处理:
@GetMapping("/t7")
@SneakyThrows
public void test7(){
Thread.sleep(1000);
}
总结
学习记录一下 @SneakyThrows
注解。