记录Lombok注解 @SneakyThrows的用法
场景: 代码中有使用 @SneakyThrows 注解 在此记录
@Slf4j
@Service
public class OssServiceImpl implements OssService {
@Autowired
protected SysConfigService sysConfigService;
@Autowired
private FileUploadProperties fileUploadProperties;
@Override
@SneakyThrows
public UploadResponse upload(MultipartFile file) {
//代码省略
}
}
看源码分析:
它是lombok包下的注解 并且继承了Throwable
作用 是为了用try{}catch{}捕捉异常
添加之后会在 代码编译时 自动捕获异常
package lombok;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.SOURCE)
public @interface SneakyThrows {
Class<? extends Throwable>[] value() default {Throwable.class};
}