2011-04-25 75 views
0

我正在本地運行IIS上的ASP.NET項目,並且在處理回發後異常報告回到Web瀏覽器。爲什麼我的服務器端異常不會導致我的代碼在VS2010中中斷?

在VS2010中,如果我查看Debug-> Exceptions ...,每個異常類型都會在引發時檢查是否中斷。

這裏是我看到在我的瀏覽器彈出窗口中的例外:

Line: 868 Error: Sys.WebForms.PageRequestManagerServerErrorException: Input string was not in a correct format.

這裏的響應返回給我從提琴手得到了瀏覽器:

41|error|500|Input string was not in a correct format.|

當然我一派,而大部分職位說試圖將一個字符串解析爲一個int可能會導致這種情況。我不認爲我在做那樣的事情。

======編輯=======
刪除的UpdatePanel,現在我得到:

[FormatException: Input string was not in a correct format.] 
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +12630469 
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +224 
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +483 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691 

=============== ==

感謝, 馬克

+0

[PageRequestManager](http://msdn.microsoft.com/en-us/library/bb311028.aspx)類是客戶端API的一部分,所以它在客戶端嘗試訪問時顯示錯誤解析響應中返回的內容。如果你發佈更多的代碼並接受更多的答案,我相信你會得到一個解決方案。 – Town 2011-04-25 19:13:01

+0

我發佈了上面的響應(這是一個例外),客戶端解析並顯示它就好了。這實際上與代碼無關,還有更多與我一起試圖弄清楚爲什麼VS不會中斷,即使它看起來像是在服務器上拋出異常。 – MStodd 2011-04-25 19:38:10

+0

您使用更新面板嗎?嘗試將[EnablePartialRendering](http://msdn.microsoft.com/zh-cn/library/system.web.ui.scriptmanager.enablepartialrendering.aspx)設置爲false或刪除更新面板,然後您應該看到例外之後。 – Town 2011-04-25 19:47:54

回答

1

問題是我的網格中有一個按鈕,我設置了CommandArgument,我不應該這樣做。這被GridView用來獲取行索引,以防它沒有擁有該按鈕的實際行。

0

我不知道打破你的調試器。默認情況下,這種類型的錯誤不會破壞你的代碼。您應該爲處理數據操作的代碼設置適當的try {} catch {}語句設置。您甚至可以在catch{}中輸出一些調試變量,以幫助您在處理大量數據時找到錯誤。運行你的調試器並遍歷它來找出錯誤。

+0

問題是,我不知道在哪裏引發異常。我在我的所有PageLoad代碼周圍以及我所有按鈕點擊代碼的周圍放置了一個try/catch。如果VS設置爲打破任何異常,並且發生異常,我希望它會中斷。 – MStodd 2011-04-25 19:13:59

相關問題