我正在开发 AutoCAD 插件,但无法捕获未处理的异常。
尝试使用 CurrentDomain.UnhandledException 和 Application.ThreadException,但这些都不起作用。
我想尝试这篇文章中建议的解决方案:
但不知道该怎么做。可能这可能是最好的解决方案,所以我可以显示我自己的错误对话框(并发送报告功能),避免 AutoCAD 的错误对话框。
我正在开发 AutoCAD 插件,但无法捕获未处理的异常。
尝试使用 CurrentDomain.UnhandledException 和 Application.ThreadException,但这些都不起作用。
我想尝试这篇文章中建议的解决方案:
但不知道该怎么做。可能这可能是最好的解决方案,所以我可以显示我自己的错误对话框(并发送报告功能),避免 AutoCAD 的错误对话框。
调用 acedDisableDefaultARXExceptionHandler 来禁用不为我改变任何东西
// EntryPoint may vary across autocad versions
[DllImport("acad.exe", EntryPoint = "?acedDisableDefaultARXExceptionHandler@@YAXH@Z")]
public static extern void acedDisableDefaultARXExceptionHandler(int value);
我认为没有任何方法可以捕获托管代码中的所有(甚至任何)本机异常。至少你需要 AutoCAD 2013+ 禁用纤维(FIBERWORLD = 0),即使那样它也是一个延伸。