首页 > 开发 > 综合 > 正文

关于异常捕获

2024-07-21 02:16:35
字体:
来源:转载
供稿:网友


你可以查一下你的sdk,里面有很多的exception的定义,其基类其实都是system.exception一样。
但system.exception只提供了一些一般异常的处理。更多的需要专业的来处理。
比如找不到文件,你必须捕捉system.io.filenotfoundexception这个异常。
在一段代码中,你如果既进行了找文件、找路径、找数据库那你很可能抛出四个异常,即system.exception、system.io.filenotfoundexception、system.io.directornotfoundexception、system.data.sqlclicent.sqlexception(以上名字纯凭记忆写出,可能有错,自己查一下)。你在程序中需要对此一一捕捉,才能找到正确的错误信息。
当然,如果你坚信自己的代码没有问题,比如你找路径是找的c盘根目录,那么基本上不会有问题,那么你可以不去捕捉这个异常。双比如一般的system.exception大家也不进行特意捕捉的。
比如你说的,你只捕捉system.exception,
如下:
try{
   [opendatabasecode]
}
catch(system.exception e)
{
   messagebox.show("错误:"+e.message,"系统错误");
}
如果你的代码中打开数据库确实出错了,那程序是捕捉不到的,所以你必须再加上一个
catch(system.data.sqlclient.sqlexception e)
{
    messagebox.show("错误:"+e.message,"数据库错误");

}
另外,我使用的system.data.oledb操作数据库的类,所以我不会调用system.data.sqlclient.sqlexception这个错误。
这样明白了吗? 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表