簡體   English   中英

奇怪的行為-發生錯誤,但未引發異常

[英]Strange behavior - error happens but exception isn't thrown

這是我所擁有的:

Debug.WriteLine("myMethod ok");
db.myTable.AddObject(new_item);
db.SaveChanges();
Debug.WriteLine("myMethod save changes");

在輸出窗口中,我得到:

"myMethod ok"

在那之后什么也沒有。 因此,AddObject和SaveChanges不會引發異常,因為如果它們會在調試時得到該異常。

這可能是什么原因?

重新閱讀您的問題,我意識到這也可能是另一個問題。 也許db.SaveChanges(); 永遠掛起,在函數頂部放置一個斷點並逐步執行。


異常可能被調用您的函數的更高級別的try-catch塊捕獲。

通過轉到“ Debug->Execptions...下拉菜單並選中“通用語言運行時異常”的“ Thrown框,可以啟用“捕獲異常”,以跟蹤發生的情況。

在此處輸入圖片說明

這將導致您的代碼在異常上中斷,即使它位於try-catch塊中也是如此。

如果您沒有看到“ User-Unhanded”復選框,如下圖所示

在此處輸入圖片說明

轉到Debug -> Options and Settings...並確保選中“啟用我的代碼”復選框。

在此處輸入圖片說明

如果未選中它,它將打破.NET框架拋出的內部異常(不代表問題),而僅控制通過框架中的異常實現的流邏輯(大多數情況下,它是某種TimeOutExecption)。

如果仍然沒有捕獲到異常,請在未選中“僅我的代碼”的情況下再次嘗試,僅要注意框架可能引發的“紅色鯡魚”異常。

檢查菜單DEBUG-例外,並標記所有Throwed復選框。 也許比您將收到例外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM