簡單問題: 該方法應記錄一個錯誤會導致錯誤該怎麼辦?寫入錯誤日誌時會發生什麼錯誤?
背景:
在數據庫上改變一個小東西之後,那真的是很辛苦相關的記錄系統(註冊表得到的時碼發生/從用戶錯誤填寫的,等等),我的代碼不再運行。
這裏的古怪事情是,由於數據庫方法的錯誤,系統中斷了一些加載方法,並且jquery沒有加載,所以我得到了JQuery錯誤!我花了大約5個小時才發現,jquery不是問題所在,相反它是日誌記錄方法中的一個問題,它會阻止jquery加載。
那麼,如何在代碼中避免這種情況?
簡單問題: 該方法應記錄一個錯誤會導致錯誤該怎麼辦?寫入錯誤日誌時會發生什麼錯誤?
背景:
在數據庫上改變一個小東西之後,那真的是很辛苦相關的記錄系統(註冊表得到的時碼發生/從用戶錯誤填寫的,等等),我的代碼不再運行。
這裏的古怪事情是,由於數據庫方法的錯誤,系統中斷了一些加載方法,並且jquery沒有加載,所以我得到了JQuery錯誤!我花了大約5個小時才發現,jquery不是問題所在,相反它是日誌記錄方法中的一個問題,它會阻止jquery加載。
那麼,如何在代碼中避免這種情況?
你不能迎合每種情況,並且如果它不寫入數據庫表應該表明日誌記錄存在問題。如果你想加強它,你可以考慮在特定的嘗試捕獲中遇到數據庫異常時寫入文本文件。
try
{
}
catch(SqlException ex)
{
fallBackWriteErrorToTxt(ex.Message);
}
您可以查看天氣的請求ajax
或簡單的使用下面的代碼
public static bool IsAjaxRequest(this HttpRequest request)
{
if (request == null)
{
throw new ArgumentNullException("request");
}
return (request["X-Requested-With"] == "XMLHttpRequest")
|| ((request.Headers != null) &&
(request.Headers["X-Requested-With"] == "XMLHttpRequest"));
}
使用上面的小說,你可以找出天氣的請求AJAX與否。
來源:How to check if request is ajax or not in codebehind - ASP.NET Webforms
您還可以在數據庫中創建一個列,以顯示哪種類型的錯誤提供了通過前端值的方式。
您還可以使用全局文件的Application_Error
方法記錄錯誤。
在日誌記錄方法引起異常時,使用嘗試捕獲日誌記錄方法並使用不同的通知。 – Sefa
這是! (不是我的項目,我只是改變了一些東西),但在catch()中沒有任何反應,所以你不能真正看到是否有錯誤,如果你有一個空的catch – ReneK