try-catch-finally机制

异常处理:

  • 允许用户及时保存结果
  • 抓住异常,分析异常内容
  • 控制程序返回到安全状态

try-catch-finally机制进行方法内的异常捕捉处理

  • 异常结构
    -try...catch(catch可以有多个,下同)
    -try...catch...finally
    -try...finally
    try必须有,catch和finally至少要有一个。

try:正常业务逻辑代码
catch:当try发生异常,将执行catch代码。若无异常,绕之。
finally:当try或catch执行结束后,必须要执行finally。

  • catch块可以有多个,每个有不同的入口形参。当已发生的异常和某一个catch块中的形参类型一致,那么将执行该catch块中的代码。如果没有一个匹配,catch也不会被触发。最后都进入finally块。

  • 进入catch块后,并不会返回到try发生异常的位置,也不会执行后续的catch块,一个异常只能进入一个catch块。

  • catch块的异常匹配是从上而下进行匹配的。所以一般是将小的异常写在前面,而一些大(宽泛)的异常则写在末尾。

  • try结构中,如果有finally块,finally肯定会被执行。

  • try-catch-finally每个模块里也会发生异常,所以也可以在内部继续写一个完整的try结构。

try{
		           try-catch-finally结构
		      }
		      catch(){
		           try-catch-finally结构
		      }
		      finally{
		           try-catch-finally结构
		      }

你可能感兴趣的:(try-catch-finally机制)