ibcadmin 发表于 2015-7-17 09:47:01

C#中异常及异常处理【转】

.NET中的异常(Exception)

.net中的中异常的父类是Exception,大多数异常一般继承自Exception。
可以通过编写一个继承自Exception的类的方式,自定义异常类!

异常处理机制


Try
{
    可能发生异常的代码
    后续代码   
}
Try以外的代码
catch(Exception e)
{
}
finally
{
}


上述代码描述如下
    1.谁能执行 在异常处理中,一旦try里面有了问题,程序会放弃异常的后续代码直接跳到catch中。
执行完了catch中的代码,继续执行Try以外的代码。

2.关于catch()中的参数e
      e 就是发生异常的异常类对象,可以任意取名。不是必须叫e的。

    3.只抛一个
       一块try中的代码只能抛出一个异常。

为什么呢?

因为一旦异常就抛出了啊,后面有也不执行了呀!

    4.获取信息
       可以通过 e.Message获取异常信息


   5.必须执行
       finally无论如何都会执行


   6.可以没有catch
      可以只有 try catch
      也可以只有tryfinally





优秀的异常处理作风
   1.不要逃避问题不要只把异常catch住,什么都不做,或者只是打印一下,这不是优秀的“异常处理”作风。
不知道怎么处理异常,就不要catch。让他暴露出来。既然发生异常了,问题就肯定是有的,逃避不是办法,直面他,才能解决他。尤其在分层的项目中。会让程序陷入深度的逻辑混乱状态。而问题被藏起来了,你甚至不知道哪里发生了问题。


   2.如果真的遇到乱try、catch的程序员怎么办?
vs很强大,它想到了这种情况。点击【调试】【异常】进入这样一个工具,选中第二行 的引发选项。






这样在调试的时候,无论是否trycatch都会暴漏出异常。我们想要的信息就找到了。




卖烤地瓜的 发表于 2015-7-17 09:52:43

{:3_41:}沙发

崽崽 发表于 2015-7-28 20:09:43

选中 右键 外侧代码也可以呦:)
页: [1]
查看完整版本: C#中异常及异常处理【转】