在项目中经常使用lombok组件来便于开发,使用时引入下面的依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<optional>true</optional>
</dependency>
引入组件后,可以使用@SneakyThrows注解优化异常处理的代码,比如io异常我们一般一定要显示的try()catch{},然后可能需要在catch里面向上抛出异常,此时可以使用@SneakyThrows修饰在这个方法上,那么try()catch{}就可以省掉,代码简洁了许多;
那么这个注解怎么实现向上抛出异常的呢?可以看这个java文件编译后生成的class文件中会生成try()catch{}代码
原始java代码
编译后的字节码文件