主题:  关于try....catch....finnal

书同人

职务:普通成员
等级:1
金币:0.0
发贴:179
#12004/12/2 14:01:34
不太明白这个的具体用法,文档上说是捕捉异常,可是我看文档上面的代码,好象是一个if....else....end if的作用,班主是不是可以帮忙介绍一下这个的用法和作用呢?谢了。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22004/12/2 14:12:02

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


捕捉异常,虽然对于个别的例子,比如上面的,你完全可以先判断
if(m==0){
alert("异常");
}

但是很多情况你不会知道异常来自哪儿,或者说你没有必要一个个的写出各种可能出现的异常的处理方法



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#32004/12/2 14:26:19
try...catch...的用法可与if...else..用法完全不同,该用法是用于捕捉异常的。
try后面是正常运行的程序,当发生错误时就触发catch后面的程序,而finally是最后需要完成的,不管是正常还是非正常,都需要完成finally后的程序。
比如:
try
{
    // 打开文件
}
catch
{
    // 显示打开文件打开失败信息框
}
finally
{
    // 关闭文件
}

catch后可以跟参数
catch(Exception ex)
{
    // 显示错误消息
    MessageBox.Show(ex.ToString());
}

Exception是错误基类,派生有很多类,如IO、数据库错误类等,也可以自定义类,触发显示特定错误。


非常大鱼