c#描述异常处理语句try、catch、finally执行时的相互关系

来源:百度知道 编辑:UC知道 时间:2024/07/08 20:39:30

try里面是执行代码,其中的代码"可能"产生异常.
catch是对产生异常后的处理代码,可以抛出异常,也可以显示异常,也可以弹出某中提示,总之catch里是任何代码都行,如果你知道这钟异常产生的原因,可以打印此原因,也可以对此原因进行相应的处理,同时可以为多个catch,每个catch(异常类型) 用多个catch来捕获多种异常,也可以用所有异常的父类来捕获(这样就不用写多个catchl了).
假如try中产生了异常,那么try从产生异常开始到try结束的这段代码将不会执行,转而去执行catch.
finally是try执行完后执行(没发生异常)或者在catch后执行(发生了异常),也就是说finally无论怎么样,都会执行.
3个连起来就像平时口语中的 "(try)假如^^^^^^,(catch)就^^^^^^^^^,(finally)最后^^^^^^^^^^

try
{
//执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容
}
catch
{
//除非try里面执行代码发生了异常,否则这里的代码不会执行
}
finally
{
//不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally
}

先执行try里面的语句,如果try里面的语句抛出了错误,就会被catch捕获,所以就会中断try里面语句的执行转而执行catch里面的语句,

如果try里面的语句都执行完了也没有抛出错误,那么catch里的语句就没有机会执行了。

最后不论try顺利运行完毕,还是try抛出了错误被catch语句捕获并执行了catch的语句都要接着执行finally里面的语句

try
{
//要捕捉异常的程序段
}
catch
{
//出现异常后的处理