美文网首页
try-catch-finally

try-catch-finally

作者: 小颖啊 | 来源:发表于2017-04-10 11:05 被阅读0次

    很多帖子告诉我try-catch太丑了 不要写 要少写! 但是不得不承认Java离不开try-catch
    明确一下观点:

    1.对于错误进行异常处理是不负责任的(所谓错误即本不该发生,程序员却让它发生了 一般指:传入空指针,数组越界,除数为零),这个时候用断言或者什么也不做比较好。因为处理了之后问题依然存在,所以保证代码正确性是解决这个问题的关键。
    2.尽量明确异常类别,不要一个Exception全部包括。

    性能分析:
    '''
    public class testOne {
    @Test
    public void test1() {
    List<String> list = new ArrayList<String>();
    list.add("1");
    list.add("2");
    list.add("0");
    list.add("4");//省略很多测试数据
    try {
    for (String i: list) {
    int num = Integer.parseInt(i);
    num = 12 / num;
    System.out.println(num);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    @Test
    public void test2() {
    List<String> list = new ArrayList<String>();
    list.add("1");
    list.add("2");
    list.add("0");
    list.add("4");//省略很多测试数据
    for (String i: list) {
    try {
    int num = Integer.parseInt(i);
    num = 12/num;
    System.out.println(num);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    '''
    结果:
    test1:

    java.lang.ArithmeticException: / by zero
    at TryCatch.testOne.test1(testOne.java:24)
    12-----
    6-----

    test2:

    java.lang.ArithmeticException: / by zero
    at TryCatch.testOne.test2(testOne.java:46)
    12-----
    6-----
    3-----
    效率:
    不catch时:耗时是一样的
    出现异常时:根据需要的数据结果进行选择
    建议:尽量少在try中声明变量,较少的代码放置到try中 效率会更高

    相关文章

      网友评论

          本文标题:try-catch-finally

          本文链接:https://www.haomeiwen.com/subject/ztksattx.html