【问题标题】:Is there any way to get know that catch statement is trigger有没有办法知道catch语句是触发器
【发布时间】:2013-08-30 01:04:02
【问题描述】:

我创建了一个应用程序有很多尝试和捕获来处理错误,现在我想应用当任何语句进入 catch 时我应该收到电子邮件的功能。 但是在所有 catch 语句中调用函数太忙太耗时。

因此我需要一些建议或解决方案,以便我可以在任何语句落入 catch 语句时触发事件。

【问题讨论】:

  • try {...} catch (Exception e) { if (e is InvalidArgumentException) ... }这是您要找的吗?
  • 我认为你应该阅读这篇文章:stackoverflow.com/questions/7875947/…
  • @oleksii: 删除不需要的 try..catch 块让异常落在全局异常处理中......我错了吗?如果 OP 只想有一个异常处理程序,他不能在任何地方使用try..catch...
  • @Marco 没错。我不确定 OP 是否要删除 try-catch
  • 感谢大家的建议,但我已经创建了全局事件处理程序,但在 catch 的情况下我无法工作,我不想删除 try catch 因为这将花费相同的时间并且会生成用户可见错误。

标签: c# asp.net try-catch


【解决方案1】:

没有这样的东西可用。

一些解决方法:

  • 使用 Visual Studio FindAll "catch" 并插入一行来引发事件
  • 如果您使用日志记录框架,您可以添加电子邮件记录器并手动检查所有异常处理程序是否调用记录器(例如参见SmtpAppender log4net config)
  • 对于未处理的异常,您可以使用global.asax 事件处理程序

这是一个手动过程,遗憾的是没有开箱即用的此类功能。

【讨论】:

  • 感谢您的回复,但我已经完成了全局部分,您的建议是我的最后一个解决方案仍在等待我任何方法仍然存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-08
  • 2023-03-03
  • 2019-03-28
相关资源
最近更新 更多