我有一个Windows窗体应用程序。它使用Assembly.LoadFile加载扩展名为.Plugin.dll的程序集。其中一个“插件”调用另一个程序集dll。该DLL最终抛出一个ValidationException异常。抛出异常的方法是从IDataErrorInfo继承的类中。该类是包含在Linq to SQL类(.dbml)中的类。在“插件”中,我调用了DataContext.SubmitChanges。这被包装在try/catch块中。这会导致我的业务逻辑在提交给OnValidate覆盖中的数据库之前验证数据。我看到的结果是在抛出ValidationExeption之后,调试器停在OnValidate方法的底部,表示发生了未处理的异常。如果我继续运行应用程序,则执行catch代码块。这是我首先想要的,但为什么当它真正处理时我得到了未处理的异常?Windows窗体应用程序中未处理的异常
2
A
回答
0
我99%确定你的“真正的”异常导致这个确实没有处理 - 这是调试器在第一时间告诉你的,而且他一般是正确的。
当你继续在VS中运行应用程序后,实际上并不是当你将EXE从调试器中移出时会发生什么。实际上,调试器会首先通知您未处理的异常,然后继续执行一些待处理的逻辑(如果有的话)(这就是为什么您会看到ValidationException错误)。但未处理的异常仍然存在。我不完全知道这种行为的细节和原因,但我注意到了很多次。
您必须在确定出现unhandledexception的确切位置处发现精确错误。 也许发布你的代码示例会有所帮助。
0
首先,是同一AppDomain中的插件吗?其次,它听起来像是你有你的调试器来“抛出异常时中断”而不是“当异常是用户未处理时中断”。
在VS.NET,进入调试 - >例外...
展开“通用语言运行时例外”节点,看看有没有被勾选。
相关问题
- 1. 在Windows窗体中未处理的非UI线程异常
- 2. Windows窗体应用程序异常
- 3. 窗口服务应用程序中未处理的异常
- 4. 针对Windows窗体的未处理的异常日志记录
- 5. Windows窗体未处理的异常对话框
- 6. Windows窗体应用程序中的.net远程处理对象
- 7. Breakpad异常处理程序未在Windows上的DLL中使用?
- 8. Windows窗体应用程序中的无效操作异常
- 9. C++程序中未处理的异常
- 10. .net安全地处理非窗体和非WPF应用程序中未处理的异常
- 11. 在Windows窗体应用程序中捕获应用程序异常
- 12. 在Windows窗体应用程序中处理EF的验证
- 13. Windows应用程序c中的异常处理#
- 14. ASP.Net未处理的异常处理程序来操纵响应
- 15. 异常窗体应用程序
- 16. C++ Windows窗体应用程序未处理的异常错误时,文本框为空
- 17. 在saprk流媒体应用程序中的异常处理
- 18. 在应用程序中发生未处理的win32异常
- 19. Winforms应用程序中未处理的异常
- 20. Windows服务中未处理的异常
- 21. 的iOS应用程序异常处理
- 22. WPF应用程序的异常处理
- 23. 如何在windows phone 7应用程序中捕获未处理的异常?
- 24. .NET 1.1中的未处理的异常处理程序
- 25. Windows窗体应用程序异常陷印
- 26. 如何在Windows登录异常窗体应用程序
- 27. Windows窗体应用程序的C#图像处理
- 28. 未处理的异常未被处理程序捕获
- 29. 异常处理应用程序块
- 30. 未处理的异常发生在您的应用程序C#
什么是堆栈跟踪说异常源自何处?这可能有帮助。 – 2012-02-01 18:02:56