我想将全局异常处理代码添加到C#WPF应用程序中,虽然看起来相当笨拙(似乎没有其他人这样做),但我想通过异常信息向开发人员发送电子邮件。我能想到的主要问题是,如果开发人员在部署软件后最终更改了他的电子邮件地址。也许给部门的电子邮件(例如listserv类型的电子邮件广播地址)会更合适?有没有人使用过这种方法,如果有的话,你提出了什么解决方案来确保有人获得异常生成的电子邮件?
这是最好的解决方案吗?
// in exception code (pseudocode)
try
SendEmailToTheCoder();
catch
on EmailAddressNotValid:
try
SendEmailToTheListServ()
catch
on EmailNotSent:
LogExceptionDataToLog("Bla");
...或者我的大脑又变成了梨形(我不知道这意味着什么,但它是英国的,所以它一定是邪恶的)#/ p>
答案 0 :(得分:2)
最好的办法是将消息传递的详细信息保留在应用程序之外。
例如,您可以将错误记录到文本文件或其他类型的日志中,然后让外部应用程序或Windows服务监视器记录并决定要做什么 - 例如发送电子邮件或创建摘要当天的所有消息,通过电子邮件或类似的行动。
这样,您可以优化和修改发生这些错误时发生的情况,而无需更改程序代码。您还可以将该系统与其他应用程序一起使用,这些应用程序也只是将错误记录到文本文件中,与连接到SMTP服务器和发送消息相比,该文本文件的错误概率较低。
答案 1 :(得分:1)