异常处理

异常处理的格式,如下:
 
 
对于不同的异常分别处理时,应当将小异常处理写在前面,大异常处理写在后面,如下:
 
 
问:既然finally语句块后的语句在异常处理完成之后也会执行,那为什么不把finally语句块中的代码放到后面执行呢?
答:finally语句块中的语句时一定会执行的。如果希望代码无论如何都要执行,则一定要放在finally语句块中。
以下三种情况下,finally语句块后面的代码可能不会执行:
 
Throw new Exception();    //抛出一个自定义异常
Throw;   //将异常向上一级抛出,让上一级来继续处理这个异常。(这种写法只能在Catch块中写)
如下图:
M2()方法继续处理M1()抛过来的异常
-----------------------tips------------------
 

关于引用类型的值改变

值类型
方法在编译时会为要返回的变量再生成一个变量用于返回。也就是说如果这个变量时返回值,那么编译时就会为它生成两个变量,一个用于操作,一个用于返回。具体如下图:
引用类型
 
posted @ 2020-02-18 09:05  gaoyang'Blog  阅读(66)  评论(0)    收藏  举报