1前言: 这里记录一个@SneakyThrows的用法,关于他的用法,在官网上可以知道的很清楚
- 官网介绍:http://projectlombok.org/features/SneakyThrows.html
2代码示例
-
个人理解:在代码中,使用 try,catch来捕捉一些异常,而你不想对他处理,只想抛出去(ps:个人理解,详情看官网的解释吧)
-
不使用@SneakyThrows的代码
package org.ygy.lombok.demo;
import java.io.UnsupportedEncodingException;
import lombok.Lombok;
public class SneakyThrowsExample implements Runnable {
public String utf8ToString(byte[] bytes) {
try {
return new String(bytes, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw Lombok.sneakyThrow(e);
}
}
public void run() {
try {
throw new Throwable();
} catch (Throwable t) {
throw Lombok.sneakyThrow(t);
}
}
}
- 使用@SneakyThrows的代码
package org.ygy.lombok.demo;
import lombok.SneakyThrows;
public class SneakyThrowsExample implements Runnable {
@SneakyThrows
public String utf8ToString(byte[] bytes) {
return new String(bytes, "UTF-8");
}
@SneakyThrows
public void run() {
throw new Throwable();
}
}
- 完结
本文介绍了一个简化异常处理的方法——使用Lombok库中的@SneakyThrows注解。通过示例代码展示了如何避免繁琐的try-catch块,并直接抛出未检查异常,使得代码更加简洁。
1万+

被折叠的 条评论
为什么被折叠?



