2012-12-15 97 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