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();
}
}
- 完结