我最近開始通過 .net 框架和 winforms 在 Visual Studio 上創建我自己的桌面應用程式。我開始越來越了解這個程序,但有一件事困擾著我。當發生例外時,我得到這個彈出視窗,例外未處理,但這個例外顯示在 Application.Run(new Form1()); 在標準程式.cs 中。我知道這是 Form1.cs 檔案中的一個例外,但是我怎么知道這個例外發生在哪一行呢?當我按“查看詳細資訊”時,我不太了解快速觀看視窗。這可能是我沒有看到的愚蠢事情,因為我在網上找不到任何東西。
先感謝您!
例外的例子
uj5u.com熱心網友回復:
不幸的是它是如何作業的,因為應用程式的主回圈在該Run()方法內部。該主回圈包含一些例外處理代碼,但會進一步拋出您感興趣的代碼。默認情況下,除錯器只會在重新拋出例外的第二個位置啟動,這不會向您顯示太多資訊。
您有以下可能性:
- 檢查堆疊跟蹤:在彈出視窗中,單擊“查看詳細資訊”鏈接。在那里,您有一個顯示堆疊跟蹤的欄位(即已呼叫到發生錯誤的位置的函式串列)。它的頂部是最近呼叫的函式,因此是導致問題的函式。
- 將除錯器配置為在引發例外時中斷,而不僅僅是在未處理時中斷。打開例外設定視窗(在 Debugger->Windows 下)并在“公共語言例外”旁邊添加一個復選框。這現在可能會顯示一些您正確處理的例外,但通常情況下,正常程式流中不應該有很多例外。當您右鍵單擊該設定時,您可以將其更改回正常狀態,當您展開它時,您可以單獨配置每種例外型別的行為。
uj5u.com熱心網友回復:
正如我們從您的螢屏截圖中看到的,十進制值太大或太小。 https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/decimal-data-type
如果我們想知道這個例外發生在哪一行,我們可以設定一個斷點并啟動除錯器。此頁面可以幫助您使用除錯器。 https://docs.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2022
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/383856.html
