2014-06-10 72 views
0

简单问题: 该方法应记录一个错误会导致错误该怎么办?写入错误日志时会发生什么错误?

背景:
在数据库上改变一个小东西之后,那真的是很辛苦相关的记录系统(注册表得到的时码发生/从用户错误填写的,等等),我的代码不再运行。
这里的古怪事情是,由于数据库方法的错误,系统中断了一些加载方法,并且jquery没有加载,所以我得到了JQuery错误!我花了大约5个小时才发现,jquery不是问题所在,相反它是日志记录方法中的一个问题,它会阻止jquery加载。

那么,如何在代码中避免这种情况?

+0

在日志记录方法引起异常时,使用尝试捕获日志记录方法并使用不同的通知。 – Sefa

+0

这是! (不是我的项目,我只是改变了一些东西),但在catch()中没有任何反应,所以你不能真正看到是否有错误,如果你有一个空的catch – ReneK

回答

2

你不能迎合每种情况,并且如果它不写入数据库表应该表明日志记录存在问题。如果你想加强它,你可以考虑在特定的尝试捕获中遇到数据库异常时写入文本文件。

try 
{ 
} 
catch(SqlException ex) 
{ 
    fallBackWriteErrorToTxt(ex.Message); 
} 
0

您可以查看天气的请求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方法记录错误。