[英]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.