如何在使用try-catch时知道可能的异常
本文关键字:异常 try-catch | 更新日期: 2023-09-27 18:20:53
根据MSDN,在没有特定类型的情况下捕获异常是一种糟糕的做法,例如使用System.Net.Exception
我是否必须深入阅读msdn手册,以便在每次发现错误时查看可能的异常类型。或者IDE中有什么方法可以让我快速看到这一点。
目前我正在使用Visual Studio 2013速成版
try
{
using (WebClient goog = new WebClient())
{
goog.DownloadString("http://google.com");
}
}
catch(Exception E)
{
saveLog("methodname", E.Message);
}
编辑:在这个链接中,VS似乎已经有了一个显示exeptions的选项,但是,当我选择一个方法时,它只显示该方法的类型和参数。但它没有显示异常
通常,最佳做法是只添加对程序运行时可能发生的异常的处理。
例如,如果您正在处理文件,那么处理***NotFoundException类型是有意义的。正确的编码将确保像ArgumentNullException这样的事情不会发生,因此不需要处理等。
与Java不同,C#不需要在方法的签名中列出潜在的exeption。这有好的一面也有坏的一面。你刚刚遇到了不好的一面。
除非,否则您无法知道可能引发的异常
- 您正在调用的方法有很好的文档记录,其中列出了潜在的异常(最佳情况)
- 你知道具体的坏情况,运行它们,看看它们会产生什么异常(坏情况)
- 你不知道会出什么问题,把所有事情都记录下来,每次发生意外时都会修改你的捕获量(最坏的情况)
没有内置的功能可以自动显示这一点,但您可以将插入符号放在方法名称的某个位置,然后按CTRL和空格。这里显示的信息与链接中的信息相同,因此它应该显示DownloadString
方法的两个异常。
将鼠标悬停在DownloadString
上不一定会显示与单击方法名称并按CTRL和空格