使用try catch时如何知道可能的异常?

Raf*_*ari 5 c# visual-studio visual-studio-2012 visual-studio-2013

根据MSDN,如果没有特定类型并使用例如,捕获异常是一种不好的做法System.Net.Exception

每次我要捕获错误时,是否必须深入查看msdn手册以查看可能的异常类型.或者IDE中有什么方法让我快速看到这个.

目前我正在使用Visual Studio 2013 Express Edition

 try
 {
    using (WebClient goog = new WebClient()) 
    {
       goog.DownloadString("http://google.com");
    } 
 }
 catch(Exception E)
 {
    saveLog("methodname", E.Message);
 }
Run Code Online (Sandbox Code Playgroud)

编辑:这个链接中,看起来VS已经有一个显示exeptions的选项,但是,当我选择一个方法时,它只显示方法的类型和参数.但它没有显示例外情况

Tom*_*int 2

通常,最佳实践是仅添加对程序运行时预计发生的异常的处理。

例如,如果您正在处理文件,则处理 ***NotFoundException 类型是有意义的。正确的编码将确保不会发生 ArgumentNullException 之类的事情,因此不需要处理等。