国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# Global Application_Error不執行

2019-11-17 03:19:15
字體:
來源:轉載
供稿:網友

C# Global application_Error不執行

今天在開發過程中遇到一個很奇特的問題,就是 Global 文件中的Application_Error 方法不執行的問題,很是苦惱,查了有關這方面的問題,感覺網友們回答的都有點亂,有些人說 在編譯時不需要這個文件,在項目部署的時候再放進去,有些人說Global.asax可能沒被正常加載,session沒有啟用引起Application_Error內部出錯,等等

  最開始,我也以為是 Global.asax 文件沒被加載,所以我在Application_Start 方法中設置斷點,發現 是可以進入的,這就排除了加載失敗的可能性,

  后來我在測試過程中意外的發現在webform 頁面的 的Load事件中 編寫一段會拋出異常的代碼,例如:(string str = "a" int.parse(str)),然后在Application_Error 中是可以進入的,這就奇怪了,難道Global文件只在WebForm頁面中才有效?這應該不可能啊,

因為我們得項目用的是html 頁面 后臺使用的是ashx(一般處理程序)里面, 所以我就在想是不是異常要在 一般處理程序里面去處理,我們的一般處理程序結構如圖:

我們在接受了請求后,響應之前是使用了try{}catch語句的,也就是捕獲了異常,但是并沒有處理異常,我就試了試加上throw ex;這句話在catch中,果然,問題解決了

解釋一下紅色框部分:原本關注Global 的Application_Error方法就是為了 給系統記錄日志,紅色框中代碼就是給數據庫中添加一條捕獲的異常的日志信息,這里這部分可以寫在Global 的Application_Error方法中,同時替換這部分為 throw ex;這句話

和我現在這樣寫的結果都可以滿足我們項目的需求。

其實簡單的結論就是:全局Global文件 的Application_Error 是在拋出異常的情況下才會執行的,也就是說,當出現異常時,你捕獲了,但是不處理就不會進入該方法,反之繼續往上拋出 最終會進入該方法!


上一篇:ADO.NET

下一篇:[CLR via C#]18. Attribute

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫金县| 新余市| 墨竹工卡县| 翁牛特旗| 汪清县| 大荔县| 长葛市| 剑川县| 行唐县| 横峰县| 鄢陵县| 密云县| 青铜峡市| 桃园县| 新龙县| 北流市| 马鞍山市| 尚义县| 安义县| 二手房| 成都市| 湖州市| 思茅市| 乐亭县| 紫金县| 遂平县| 万山特区| 滨海县| 安乡县| 工布江达县| 油尖旺区| 吴江市| 合水县| 达州市| 泽普县| 凌云县| 溆浦县| 黔江区| 石屏县| 宜章县| 霍林郭勒市|