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

paip.消除 Java 的冗长try/catch/finally的更多相关文章

  1. paip.注册java程序为LINUX系统服务的总结。

    paip.注册java程序为LINUX系统服务的总结. ////////////////实现开机启动. 标准方法是按照/etc/init.d/下面的文件,修改一下:然后chkconfig xxx on ...

  2. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  3. paip.自定义java 泛型类与泛型方法的实现总结

    paip.自定义java 泛型类与泛型方法的实现总结 ============泛型方法     public static <atiType,retType> retType reduce ...

  4. paip.myeclipse7 java webservice 最佳实践o228

    paip.myeclipse7  java webservice 最佳实践o228 java的ws实现方案:jax-ws>>xfire ws的测试工具  webservice测试调用工具W ...

  5. Paip.Php Java 异步编程。推模型与拉模型。响应式(Reactive)”编程FutureData总结... 1

    Paip.Php  Java 异步编程.推模型与拉模型.响应式(Reactive)"编程FutureData总结... 1.1.1       异步调用的实现以及角色(:调用者 提货单) F ...

  6. paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型

    paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...

  7. paip. 解决java程序不能自动退出

    paip. 解决java程序不能自动退出 原因:有东西在运行,所以,不能自动退出.. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址: ...

  8. [转载]java中try 与catch的使用

    留着以后看 原文地址:与catch的使用">java中try 与catch的使用作者:碌碌如玉 try{ //代码区 }catch(Exception e){ //异常处理 } 代码区 ...

  9. java中try 与catch的使用

    (2011-10-08 17:08:43) 转载▼ 标签: 杂谈 分类: Java try{//代码区}catch(Exception e){//异常处理}代码区如果有错误,就会返回所写异常的处理. ...

随机推荐

  1. C语言学习笔记(一)_hello world

    一.建立一个文件a.c,写入: #include <stdio.h> //使用printf库函数之前,必须include <stdio.h>int main()//main函数 ...

  2. phpcms安装

    cms的样式有很多种,我们学习的是phpcms,这些cms都是大同小异,学会了一种就可以使用其它的cms. PHPCMS是一款网站管理软件.该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性 ...

  3. python之获取页面标签的方法

    from urllib.request import urlopen from urllib.error import HTTPError from bs4 import BeautifulSoup ...

  4. 技术英文单词贴--E

    E element 元素,成分,要素 expire 到期,终止,期满

  5. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.

    Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.   ...

  6. Centos7 mysql-community-5.7.11编译安装

    安装环境 [root@localhost ~]# cat /etc/centos-release CentOS Linux release 7.0.1406 (Core) 0x01 准备工作 1.到m ...

  7. XE3随笔5:Format与转义字符

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  8. xcode8 导入 dylib

    点击 add others shift + command + g

  9. php中::的使用方法

    (转载于http://www.nowamagic.net/php/php_UsageOfDoubleColon.php) 双冒号操作符即作用域限定操作符Scope Resolution Operato ...

  10. 自己写ORM框架 SqlHelper_DG C#(java的写在链接里)

    ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同 ...