2

发送MadExcept bug报告我找不到确定是否有可能从我的D2006的应用程序发送错误报告的任何结果。如果MadExcept可以提供某种类型的返回代码,我可以为用户提供一些关于可能出错的指导。我如何才能找到从Delphi应用程序

+1

如果您的代码可能会对MadExcept引发异常做出反应,那么您的应用程序应该捕获并处理异常本身。 MadExcept用于追踪您不了解的问题,因此无法处理。 IOW,不需要返回代码;如果你有机会检查,你应该已经发现并处理了这个异常。 – 2011-02-24 03:47:11

+1

有结果状态信息,如'无法联系SMTP服务器','无法中继',或(如果在Web服务器上的POST),'HTTP错误503'可以显示给用户或记录将是很好具有。当然这不能用在发生异常的地方。但它通常会传递给事件处理程序(如OnAfterSendReport),用户代码可以决定如何处理这些信息。根据该文档,RegisterExceptionHandler与eaContinueApplication可能是一个办法做到这一点(在madExcept的下一个版本) – mjn 2011-02-24 06:13:24

+0

@Ken,我真的不说我处理异常在我的计划。我假设ME已经捕获到异常,并向用户显示一个对话框,其中一个按钮发送一个错误报告。我想要的是某种方式知道它没有发送,为什么它没有发送,所以我可以指示用户保存错误报告并手动发送邮件。 – rossmcm 2011-02-24 07:18:18

回答

1

的问题是,MadExcept不能合理确定。 Madexcept发送电子邮件后,可能会出现一连串的问题。如果MadExcept无法生成报告或发送电子邮件时遇到问题,您将会收到异常。

  • 电子邮件客户端来了消息,用户不点击发送
  • 电子邮件客户端故障或配置
  • SMTP主机坏了,故障或丢失
  • 您的客户是一个RBL是您订阅(也许在不知不觉中)
  • 客户的域名上的RBL或阻塞
  • 您的邮件系统打嗝了,你失去的电子邮件

你可以从MadExcept得到的最好的是“无例外抛出,发送可能出现了确定”。

+0

好吧,当你说”没有例外抛出“,我怎么能确定? – rossmcm 2011-02-24 20:33:50

+0

从我记得,如果MadExcept抛出一个异常,你的应用程序关闭。但这是Madshi论坛/文档比SO更好的原因。我建议询问http://forum.madshi.net – 2011-02-24 21:05:57

1

也许不是一个完整的解决方案,但有用的信息:如果bugreport是使用HTTP POST请求发送到Web服务器,madExcept可以检测响应是否包含HTTP重定向头,在这种情况下,madExcept将启动默认网页浏览器并加载重定向中给出的URL。

所以用户可以立即看到该报告已接收和存储。

Web服务器甚至可以分析错误报告和提供更多的信息,诸如“此错误是已知的,我们有将修复它的应用程序的更新,你可以在这里下载。” (为此我写了一个Web应用程序,它仍然可用于测试)。

+0

有趣的网络应用程序。任何你愿意分享代码的机会?如果你喜欢没有分析部分(我可以想象那里会有一些特定的东西)? – 2011-02-24 07:46:21

+0

@Marjan它不是Delphi,而是Java代码(在Google App Engine上运行的简单Web应用程序),并且该项目目前处于非活动状态,直到我找到赞助商:) – mjn 2011-02-24 15:30:42

相关问题