spring注解@SneakyThrows用法及说明
spring注解@SneakyThrows
java中常见的异常有两种
Exception即非运行时异常(编译异常)、RuntimeException即运行时异常。
对于Exception即非运行时异常(编译异常),必须要开发者解决以后才能编译通过,解决的方法有两种,
- 1、throw到上层
- 2、try-catch处理
对于RuntimeException即运行时异常,在代码中可能会有RunTimeException,但是Java编译检查时是不会告诉你有这个异常的,它会在实际运行代码时则会暴露出来,比如经典的1/0,空指针等。
@SneakyThrows注解
是由lombok中封装的注解,它就是为了消除上面那种抛出异常的模板代码。
使用注解后,在编译时,自动将注解替换为try-catch。
@SneakyThrows
public void utf8ToString(byte[] bytes) {
return new String(bytes, "UTF-8");
}
真正生成的代码
public void utf8ToString(byte[] bytes) {
try {
return new String(bytes, "UTF-8");
} catch (Exception e) {
throw Lombok.sneakyThrow(e);
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Boot ActiveMQ发布/订阅消息模式原理解析
这篇文章主要介绍了Spring Boot ActiveMQ发布/订阅消息模式原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-07-07
SpringBoot参数校验:@Valid与@Validated使用详解
这篇文章主要介绍了SpringBoot参数校验:@Valid与@Validated使用详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-03-03
基于spring cloud多个消费端重复定义feign client的问题
这篇文章主要介绍了spring cloud多个消费端重复定义feign client的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
Spring中@ExceptionHandler注解的使用方式
这篇文章主要介绍了Spring中@ExceptionHandler注解的使用方式,@ExceptionHandler注解我们一般是用来自定义异常的,可以认为它是一个异常拦截器(处理器),需要的朋友可以参考下2024-01-01
springboot 动态数据源的实现方法(Mybatis+Druid)
这篇文章主要介绍了springboot 动态数据源的实现方法(Mybatis+Druid),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-01-01
IDEA连接MySQL提示serverTimezone的问题及解决方法
很多朋友私聊小编,使用IDEA软件连接MySQL数据库时总是提示Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.的错误,小编就不一一回复大家了,下面小编把我的解决方法分享到脚本之家平台,需要的朋友参考下吧2021-05-05


最新评论