在之前转载过关于Lombok的博客,使用Lombok可以是代码看起来更加简洁,当然,这是通过注解的方式来实现了,所以代码看上去注解很多。
这里记录一个@SneakyThrows的用法,关于他的用法,在官网上可以知道的很清楚
官网介绍:http://projectlombok.org/features/SneakyThrows.html
有这样一些代码:
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);
}
}
}
在代码中,使用 try,catch来捕捉一些异常,而你不想对他处理,只想抛出去(ps:个人理解,详情看官网的解释吧)
使用@SneakThrows注解
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();
}
}
代码是不是变得很明朗,很清晰。
这篇博客有简单的介绍:http://www.oschina.net/translate/lombok-reduces-your-boilerplate-code