zoukankan      html  css  js  c++  java
  • paip.消除 Java 的冗长try/catch/finally


     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
  • 相关阅读:
    C# 学习历程——接口
    C# 学习历程——类的封装,继承与多态
    C# 学习历程——C#基础
    C# 学习历程——Hello World
    python(14)---发邮件、写日志、操作redis数据库
    python(13)——内置函数
    python(12)---导入模块
    HTML操作之DOM操作
    HTML基础之CSS
    HTML基础之HTML标签
  • 原文地址:https://www.cnblogs.com/attilax/p/15199328.html
Copyright © 2011-2022 走看看