html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

关于异常捕获_.NET教程_编程技术

[ ] 已经帮助:人解决问题
你可以查一下你的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这个错误。
这样明白了吗? 
jEyHTML5中文学习网 - HTML5先行者学习网
jEyHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助