我应该记录的不仅仅是Elmah的异常吗?

本文关键字:异常 不仅仅是 记录 我应该 Elmah | 更新日期: 2023-09-27 18:32:19

我想知道我到底应该记录什么。我的意思是,我可以记录异常,这是非常标准的,但是我可以使用Elmah来记录其他内容吗?

我实际上没有使用那么多尝试,捕捉块。我读到这些应该仅用于特殊情况例外,而不是"标准行为",因为它们会降低性能。

通常,我使用简单的if子句防止异常发生。

例如,简单除以 0。

int z = x/y;

我将这样写:

int z;
if(y!=0)
{
  z = x/y;
}
else
{
   z=0;
}

现在这对我来说是完全可以接受的。

我不认为这是一个例外,但仍然...我想知道y参数在某处等于0。

可以使用Elmah记录此信息吗?还是我应该使用其他东西?

我应该记录的不仅仅是Elmah的异常吗?

您可以使用 elmah 轻松手动登录。只需致电:

 ErrorSignal.FromCurrentContext().Raise(new Exception());

对于自定义消息,只需运行:

 var customEx = new Exception("Hey y!=0!!!"); 
 ErrorSignal.FromCurrentContext().Raise(customEx);

您还可以决定使用 log4net 或 nlog 进行更复杂的日志记录并使用 Elmah appender

您还可以执行帮助程序来记录自己的错误:

public static void OwnError(Exception e, String myMsg)
{
     var exception = new Exception(myMsg, e);
     Elmah.ErrorSignal.FromCurrentContext().Raise(exception);    
}