【发布时间】:2012-09-05 06:04:22
【问题描述】:
在我的 Autocad.NET 应用程序中,我想使用 log4net 记录所有未处理的异常。 AutoCAD 本身会显示一个带有详细消息的错误对话框 -> 因此必须有一种方法可以注册到某个事件。
我尝试在应用初始化时注册AppDomain.CurrentDomain.UnhandledException 事件:
AppDomain.CurrentDomain.UnhandledException += (s, e) =>
{
System.Exception exception = (System.Exception)e.ExceptionObject;
log.Error(String.Format("Unhandled Exception: {0}\n{1}", exception.Message, exception.StackTrace));
};
但是这个事件永远不会被触发。
【问题讨论】:
-
也许这个异常是由对话框处理的。
-
如果 AutoCAD 没有崩溃 - 这意味着异常已由 AutoCAD 处理
-
在AutoCAD的异常处理之前有办法处理吗?
-
在另一个 AppDomain 中运行您的代码。
-
@HansPassant 任何提示如何在 AutoCAD 扩展应用程序中做到这一点?
标签: c# autocad autocad-plugin