Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET如何在单独的类/窗体上捕获预先考虑的异常_C#_.net_Vb.net_Error Handling_Exception Handling - Fatal编程技术网

C# .NET如何在单独的类/窗体上捕获预先考虑的异常

C# .NET如何在单独的类/窗体上捕获预先考虑的异常,c#,.net,vb.net,error-handling,exception-handling,C#,.net,Vb.net,Error Handling,Exception Handling,我有一个非常大的应用程序,我不想重写它 我制作了一个dll/类,记录应用程序主MDI中打开和关闭的每个表单(不向应用程序本身添加超过5行)。 对于这个任务,我使用了IMessageFilter/PreFilterMessage和其他一些技巧 现在,我想在其中添加代码,记录这些表单中捕获的所有异常。(不修改所有内容) 这个DLL一旦完成将被移动到多个项目,因此我不能在主应用程序中编辑太多内容,或使DLL应用程序特定 基本上,当应用程序中某个被处理的异常出现时,我想让我的DLL知道它 有什么想法吗?

我有一个非常大的应用程序,我不想重写它

我制作了一个dll/类,记录应用程序主MDI中打开和关闭的每个表单(不向应用程序本身添加超过5行)。 对于这个任务,我使用了IMessageFilter/PreFilterMessage和其他一些技巧

现在,我想在其中添加代码,记录这些表单中捕获的所有异常。(不修改所有内容)

这个DLL一旦完成将被移动到多个项目,因此我不能在主应用程序中编辑太多内容,或使DLL应用程序特定

基本上,当应用程序中某个被处理的异常出现时,我想让我的DLL知道它


有什么想法吗?(除了“您不能那样做”)您可以使用记录器库。此库提供了轻松的日志记录。

因为您提到一个库(或可能是一种库?)而没有链接到它,所以您说它提供了轻松的日志记录,而这不是OP想要的,并且您没有澄清是什么使它“容易”(几乎所有日志库都易于使用)。您是否在主应用程序中引用了上述DLL?您的应用程序中是否有常见的错误处理程序方法?如果是这样,为什么不在所述公共错误处理程序中调用引用的DLL中传递异常对象的方法呢?这种方式不是特定于应用程序的(引用所述dll的每个其他应用程序都可以传递要记录的异常)您可能需要稍加修改。您可能能够以某种方式使用它,但本机无法知道异常是在其他地方引发和捕获的。AppDomain.FirstChanceException不是您要找的吗?关于FirstChanceException的文章:谢谢大家,我将看一看这个第一次机会的异常-我真的更感兴趣的是阅读我们向用户显示的已经捕获的异常。当前应用程序有许多小部件,这些部件是由几个开发人员在过去5年中构建的,因此没有常见的错误处理方法。唯一常见的代码是(try..catch ex as exception)块。希望每次在某个地方触发时都能复制前tostring。其他应用程序可能有一个通用的错误处理程序,但我正试图使其尽可能通用