当我们的应用程序抛出异常时,没有任何反应。
应用程序反应就像一个空的try catch正在某个更高级别捕获异常并忽略该异常....
当简单抛出像这样throw new Exception("BOOM");
的异常时,什么可以捕获并忽略异常???
我无法在我的代码或更高级别的try-catch中找到任何空的try-catch,其中异常将会发生?
我在DragDrop事件处理程序中抛出异常。
答案 0 :(得分:1)
在DragDrop事件中抛出异常
这是必不可少的信息,如果您发布了一个片段就很明显了。拖放事件处理程序是特殊的。它们中引发的任何异常都被吞没而没有任何诊断。这背后的可能哲学是它们可能会失败,因为它们处理由另一个程序产生的数据。并且不应该允许产生这样的错误数据的错误程序使您崩溃。
如果需要调试代码,请使用Debug + Exceptions,勾选CLR异常的Thrown复选框。抛出异常时,调试器现在将停止。
如果您希望用户知道任何异常,那么您需要使用try / catch来捕获异常,然后才能吞下它。存在轻微的风险,即其他程序中的任何错误都会由您解释。