• 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
  • 相关阅读:
    Linux运维系列一 CentOS 7桌面系统加入到Samba4 AD域环境中
    Django 系列一 (创建第一个工程)
    提高运维效率(二)桌面显示IP
    提高运维效率(一)远程管理
    python group()
    【原创】我所理解的资源加载方式
    【原创】我所理解的自动更新-知识点讲解
    【原创】我所理解的自动更新-客户端更新流程
    【原创】我所理解的自动更新-资源打包流程
    【原创】我所理解的自动更新-APP发布与后台发布
  • 原文地址:https://www.cnblogs.com/attilax/p/5964085.html
Copyright © 2020-2023  润新知