Lombok之@SneakyThrows使用

x33g5p2x  于2021-12-25 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(462)

一. 为什么要用@SneakyThrows?

Java中的异常是一个极其重要的知识点。在阅读本文之前,读者需对异常有个基本的认识。在日常开发中,@SneakyThrows用的并不多,因为只是将异常抛出throw,还是需要你在调用方法时对异常做处理。它只是一个try-catch的简单写法:

二. @SneakyThrows如何使用?

三. @SneakyThrows源码

@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.SOURCE)
public @interface SneakyThrows {
	/** @return The exception type(s) you want to sneakily throw onward. */
	Class<? extends Throwable>[] value() default java.lang.Throwable.class;
	
	//The fully qualified name is used for java.lang.Throwable in the parameter only. This works around a bug in javac:
	// presence of an annotation processor throws off the type resolver for some reason.
}

注解属性:value是Throwable子类的数组。

四. 特别说明

本文已经收录在Lombok注解系列文章总览中,并继承上文中所提的特别说明。
源码地址:gitee

相关文章