• Java 异常


    1. try catch finally里有return

    总结:

    1、不管有没有异常,finally中的代码都会执行
    2、当try、catch中有return时,finally中的代码依然会继续执行
    3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的
    4、如果return的数据是引用数据类型,而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值
    5、finally代码中最好不要包含return,程序会提前退出,也就是说返回的值不是try或catch中的值

    先执行try中的语句,包括return后面的表达式,
    有异常时,先执行catch中的语句,包括return后面的表达式,
    然后执行finally中的语句,如果finally里面有return语句,会提前退出,
    最后执行try中的return,有异常时执行catch中的return。

    在执行try、catch中的return之前一定会执行finally中的代码(如果finally存在),如果finally中有return语句,就会直接执行finally中的return方法,所以finally中的return语句一定会被执行的。编译器把finally中的return语句标识为一个warning.

     ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    Java IO6:字符流进阶及BufferedWriter、BufferedReader
    Java IO5:字符流
    Java IO4:字符编码
    Java IO3:字节流
    Java IO2:RandomAccessFile
    Java IO1:IO和File
    Java异常
    Java语法糖4:内部类
    SharePoint JavaScript API 根据文件路径删除文件
    SharePoint PowerShell 批量删除遗弃视图
  • 原文地址:https://www.cnblogs.com/yundong333/p/12101014.html
Copyright © 2020-2023  润新知