我是一個新手.NET MVC開發人員,我想知道,反正是有發展自己的錯誤處理程序,而無需使用著名的try/catch語句。我使用的XML文件來呈現的視分量,我想如能獲得一個錯誤信息有用的,我知道我違反了基於XML文件的約束asp.net的MVC錯誤處理
(例如,如果我添加另一個不具有「type」屬性的標籤,這可以在運行時爲我生成一條消息)。我希望我說清楚 由於事先
我是一個新手.NET MVC開發人員,我想知道,反正是有發展自己的錯誤處理程序,而無需使用著名的try/catch語句。我使用的XML文件來呈現的視分量,我想如能獲得一個錯誤信息有用的,我知道我違反了基於XML文件的約束asp.net的MVC錯誤處理
(例如,如果我添加另一個不具有「type」屬性的標籤,這可以在運行時爲我生成一條消息)。我希望我說清楚 由於事先
事實上我更喜歡使用ActionFilter類覆蓋OnActionExecuting,OnActionExecuted,OnResultExecuting和OnResultExecuted方法。 ,我認爲XML屬性的控制不能從C調來完成,那麼我將使用if條件爲。 還是要謝謝你
在Global.asax可以捕捉到的異常,Global.asax中有事件的許多處理程序上的aplication喜歡的Application_Start,或者你需要的Application_Error
void Application_Error(){
Exception exception = Server.GetLastError();
//do what you need with the exception...
}
我相信處理異常的最佳位置是在的global.asax.cs。
protected void Application_Error(object sender, System.EventArgs e)
{
// custom logger
IErrorLogger errorLogger = new CustomLogger();
// config of error handler
MvcExceptionHandlerConfig config = new MvcExceptionHandlerConfig("Error", "Error", 404, 500);
// init and handle
new MvcExceptionHandler.MvcExceptionHandler(this, errorLogger, config).Handle();
}
演示,請訪問:https://github.com/mholec/mvcexceptionhandler
當然,這取決於你要處理什麼樣的異常。的Application_Error是處理錯誤400,404,5XX等,在另一方面偉大的地方,它不是身份驗證錯誤(你需要創建特殊的過濾器)使用。