首页 > 其他 > 详细

try/catch/finally的区别与联系

时间:2019-02-19 16:06:28      阅读:144      评论:0      收藏:0      [点我收藏+]

          开发过程中,我们会经常遇到异常,我们如何处理呢?

          要么catch异常,要么异常抛出,这时候,我们会对catch异常时对try、catch及finally认识不清楚。这里,我们就清楚地认识一下。

          try的使用:对可能出现异常的代码进行包围,与catch、finally连用,这里try必须有,且至少与catch、finally中的一个连用,用法:

        try {
           //可能出现异常的部分
          
        } catch (Exception e) {
           //捕获到的异常处理
        }finally {
           //不管有没有出现异常,都会执行的部分
        }

           //异常处理后执行的部分

 

           其实这是基本的结构,我们一般容易混淆的地方是方法有返回值的情况。

            我们拿以下代码演示:

public int getEndStrs(){
        int num = 5;
        System.out.println("执行开始!");
        try {
            if(num/0 == 1){
                System.out.println("str==00判断成功!");
            }else{
                System.out.println("str==00判断失败!");
            }
        } catch (Exception e) {
            System.out.println("str==00执行异常!");
            return 0;
        } finally {
            System.out.println("finally执行成功!");
            return 1;
        }

//        return 2;
    }

           

             执行结果是:

执行开始!
str==00执行异常!
finally执行成功!
int值为:1

           执行过程是,异常出现后,进入catch中,不会直接返回0,先查看是否有finally,如果有finally,执行finally中的return,覆盖掉了catch中的return,如果没有finally,我们才会执行catch中的return 0,这是有返回值的情况。当然,还有没有返回值的情况,更简单,就不啰嗦了。

try/catch/finally的区别与联系

原文:https://www.cnblogs.com/frankdong/p/10401498.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!