码迷,mamicode.com
首页 > 其他好文 > 详细

【Visual Studio】Visual Studio对异常的支持

时间:2018-05-27 18:34:19      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:cep   height   匹配   void   col   line   img   IV   catch   

Visual Studio 对异常进行了特殊的支持。在当前已打开一个解决方法的前提下,从“调试”菜单选择“异常”:

技术分享图片

技术分享图片

上面的对话框显示了Visual Studio能识别的不同类型的异常,上面包含是异常已有的异常类型,如果定义了自己的异常,那么可以点击“点击”按钮,添加自己的异常。

每一种异常后面都有两个复选框,分别是“引发”、“用户未处理”。如果勾选了“引发”对话框,那么调试器就会在抛出该异常时中断,注意,在中断时调试器还没有去查找任何匹配的catch块。如果异常类型的对话框没有勾选,那么只有在该异常未得到处理时候才中断。

下面使用C#代码来演示这个功能:

首先设置NullReferenceException为勾选状态,

技术分享图片

然后抛出NullReferenceException异常,并进行捕获,

    class Program
    {
        static void Main(string[] args)
        {
            String name = null;
            try
            {
                name.IndexOf(a);//引发NullReferenceException异常,调试中断
            }
            catch (NullReferenceException) {
            
            }
            Console.WriteLine("执行完毕");
            Console.ReadKey();
        }
    }

通过观察代码可以发现,虽然对NullReferenceException进行了捕获,但是调试器还是中断了。

 

通常情况下,要对捕捉和处理一个特殊的异常,这个功能就非常有用。或是怀疑某一组件或库吞噬了某个异常然后又重新抛出了一个新异常,但又不确定在那儿设置断点好,这个功能也很有用。

 

开发人员一般都会保持“引发”对话框未勾选,因为得到异常处理的异常表明异常类型已预见到了异常,并会对他进行处理;应用程序才会继续执行。

 

【Visual Studio】Visual Studio对异常的支持

标签:cep   height   匹配   void   col   line   img   IV   catch   

原文地址:https://www.cnblogs.com/HDK2016/p/9096812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!