2012-12-15 47 views
2

问题

当我们的应用程序抛出异常时,什么也没有发生。例外被忽略

应用程序的反应像一个空尝试捕捉在一个较高的水平某处捕捉异常和异常被忽略....

当简单地抛出这样throw new Exception("BOOM");什么可以赶上并忽略异常的异常? ?? 我无法找到任何空的try-catch在我的代码或更高级别的try-catch,异常是在哪里?

我在DragDrop事件处理程序中抛出异常。

问题

  • 是否有任何可能的原因行为?
  • 有没有办法查看异常消失的位置?我试图寻找调用堆栈,步入dissassembled代码,捕捉异常其他级别,...
+3

任何代码?你的代码在哪里?你的代码使用什么语言? – luiges90

+0

请提供足够的信息。 –

+0

什么样的项目是你的,Web应用程序?你有没有检查你的日志配置 – Subin

回答

1

的例外是在DragDrop事件

这是至关重要的信息抛出,如果你发布了一个代码片段就会很明显。拖放事件处理程序是特殊的。其中引发的任何异常都会在没有任何诊断的情况下被吞下。这背后的可能的哲学是,他们可能会失败,因为他们处理由另一个程序产生的数据。而且一个产生这样的不良数据的错误程序不应该让你崩溃。

如果您需要调试代码,然后使用Debug + Exceptions,请勾选Thrown复选框以查看CLR异常。当抛出异常时,调试器现在停止。

如果你想让用户知道任何异常,那么你需要使用try/catch来捕获异常,然后才能被吞下。由于其他程序中的任何错误成为你的解释的风险很小。

+0

你是对的:)如果从Buttun点击事件启动“错误”过程,一切都按预期工作,所以唯一的问题是Drag_Drop事件按设计工作的方式。将住在那,并再次感谢解释 – michelqa