根据
this MSDN article,你不应该抓住一般例外.我确定有一个stackoverflow问题处理这个问题,我理解为什么它不是一个好习惯,但我今天刚刚在
another MSDN article看到了这个例子:
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line = sr.ReadToEnd();
Console.WriteLine(line);
}
}
catch (Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}
是否有任何理由在该示例中捕获一般异常,或者只是他们懒得编写一个示例来捕获所有特定异常?
最佳答案 在这种情况下,这是一个例子,就像MSDN上的许多代码示例一样糟糕.
这应该是捕获IO异常而不是基类.
只要你重新抛出,捕获Exception就有意义的唯一地方是用于日志记录的全局异常处理程序.