我刚开始玩ELMAH。
想知道,有没有办法在抛出异常时传递信息,例如变量值或其他一些文本?。
目前我正在使用此: ErrorSignal.FromCurrentContext()提高(E);
答案 0 :(得分:4)
您可以在自定义消息中包含异常对象,如下所示:
ErrorSignal.FromCurrentContext().Raise(new Elmah.ApplicationException(Message,ex));
见http://blog.omniaconnect.net/2009/07/30/using-a-static-class-for-logging-exceptions-using-elmah/
答案 1 :(得分:1)
变量取决于异常的上下文?或者它是全局的(会话值?) 如果它取决于上下文,您可以尝试捕获并使用自定义消息将异常重定向到Elmah。
编辑:代码段 ... .Raise(新例外(“您的自定义消息带有变量值”));
答案 2 :(得分:0)
这样做的一种方法是将elmah扩展一点,以便复制会话。概述了基本实施here。这个功能似乎没有在1.2(仍然是测试版)中实现,但我可能错了。
答案 3 :(得分:0)
我抛出一个包含数据的新异常,使用innerexception参数来包含原始异常。
答案 4 :(得分:0)
你确实觉得自己基本上没有把字符串传递给elmah了,但这就是当你了解它时的异常(至少大多数程序员如何处理它们)。
我所做的只是创建伪造对象的自定义消息,有点像:
客户端安装等上的Class.MethodName发生错误,然后注入现有的异常。