我正在使用 web.config 文件的 customErrors 属性来显示自定义错误页面:
<customErrors mode="On" defaultRedirect="/errorpage.aspx">
<error statusCode="404" redirect="/404Page.aspx"/>
<error statusCode="403" redirect="/403page.aspx"/>
</customErrors>
没什么太花哨的。现在我要做的是记录加载任何这些页面时发生的错误。我对任何异常都特别感兴趣,我真的不在乎用户在获得 404 时在哪个页面上。
我想捕获异常并将其记录到数据库表中。像这样的工作:
//errorpage.aspx
public void Page_Load(object sender,EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
var err = new {Url = Request.Url.ToString(),
Message = objErr.Message,
Trace = objErr.StackTrace.ToString()};
db.Errors.InsertOnSubmit(err);
db.SubmitChanges();
Server.ClearError();
}
是否有任何其他信息值得捕获,或者通常在错误中捕获?