我应该记录的不仅仅是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 轻松手动登录。只需致电:
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);
}