paip.消除 Java 的冗长try/catch/finally
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attila
///目前,java 冗长的try/catch/finally有以下方案
Lombok,但是,使用后,发现编译错误,放弃
String $s = new tryX<String>() {
@Override
public String item(Object t) throws Exception {
// TODO Auto-generated method stub
return null;
}
}.$("");
//自定义tryx实现.
public abstract class tryX<T> {
public T itemWrap(Object t) {
try {
return item(t);
} catch (Exception e) {
System.out.println("-----catch except la ..");
log(e);
return this.defaultReturnValue;
}
}
public abstract T item(Object t) throws Exception;
public T $(T string) {
this.defaultReturnValue = string;
return this.itemWrap("");
}
public Logger logger = Logger.getLogger(tryX.class.getName());
public Object log(Exception e) {
logger.error(god.getTrace(e));
return e;
}
public T defaultReturnValue;
}
//Lombok?
对冗长的try/catch/finally的一次包
清单 6. 使用 @Cleanup 注释
public static void main(String[] args) throws IOException {
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
//write file code goes here
}
上述代码较我们通常在标准 Java 代码内看到的整洁了很多。请注意您还是需要抛出由被调用代码捕获的异常(在本例中,为 IOException
WCF中的Dispose - 晴窗笔记 - 51CTO技术博客.htm
以简单的方式消除 Java 的冗长.htm
何为 Lombok?
Lombok 是一种 Java Archive (JAR) 文件,可用来消除 Java 代码的冗长。
我们看这样一个例子,一个标准的 Java be
java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION homi.getDistance does not exist