C# 在C中检查异常捕获#

C# 在C中检查异常捕获#,c#,exception-handling,C#,Exception Handling,Java要求捕获所有可能的异常,或者将它们声明为方法签名中抛出的异常。C#的情况并非如此,但我仍然认为捕获所有异常是一种很好的做法。有人知道有一种工具可以处理C#项目,并指出抛出异常但未捕获异常的位置吗 红门软件有一款叫做异常猎人的产品,它应该能做到这一点 编辑:此产品已被Red Gate软件停止使用。如果您将C#用于web应用程序,则可以使用ELMAH,它显示所有已处理和未处理异常的列表 只需下载ELMAH并将其插入即可。它是免费的 除非需要设置全局处理程序,否则不要在单个方法中捕获它们 Ap

Java要求捕获所有可能的异常,或者将它们声明为方法签名中抛出的异常。C#的情况并非如此,但我仍然认为捕获所有异常是一种很好的做法。有人知道有一种工具可以处理C#项目,并指出抛出异常但未捕获异常的位置吗

红门软件有一款叫做异常猎人的产品,它应该能做到这一点

编辑:此产品已被Red Gate软件停止使用。

如果您将C#用于web应用程序,则可以使用ELMAH,它显示所有已处理和未处理异常的列表


只需下载ELMAH并将其插入即可。它是免费的

除非需要设置全局处理程序,否则不要在单个方法中捕获它们

Application.ThreadException += new ThreadExceptionEventHandler( Application_ThreadException );

private static void Application_ThreadException( object sender, ThreadExceptionEventArgs e)
{ 
       dispatchException( e.Exception );
}

查看Jason Bock为.NET Reflector提供的ExceptionFinder插件。它正是你想要的。下面是一个屏幕:

上查看,有一个R#插件可以分析抛出的异常。

为什么要捕获所有异常?除非你能做些什么来纠正问题或记录它(在这种情况下,你会在事后重新抛出它),否则你应该让异常冒泡到代码中可以处理它们的程度。也就是说,我确实认为这样的工具会很有用,但不是为了你提到的完全相同的目的。好吧,就是这样,我不知道会出现什么例外情况。我可以捕捉到异常,但我该怎么办呢?明确异常会让你更多地思考你在写什么以及哪里会出错。