try/catch/finally的区别与联系


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

          要么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,这是有返回值的情况。当然,还有没有返回值的情况,更简单,就不啰嗦了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM