【发布时间】:2011-02-24 03:43:06
【问题描述】:
我找不到任何方法来确定是否可以从我的 D2006 应用程序发送错误报告。如果 MadExcept 可以提供某种类型的返回码,我或许可以为用户提供一些关于可能出现问题的指导。
【问题讨论】:
-
如果您的代码可以对捕获异常的 MadExcept 做出反应,则您的应用应该自己捕获并处理异常。 MadExcept 用于追踪您不知道因此无法处理的问题。 IOW,不需要返回码;如果您有机会检查,您应该已经捕获并处理了异常本身。
-
具有结果状态信息,例如“无法联系 SMTP 服务器”、“无法中继”或(如果是 Web 服务器上的 POST),“HTTP 错误 503”可以显示到用户或登录会很高兴。当然这不能在发生异常的位置使用。但它通常会被传递给事件处理程序(如 OnAfterSendReport),用户代码可以在其中决定如何处理信息。根据文档,带有 eaContinueApplication 的 RegisterExceptionHandler 可能是一种方法(在 madExcept 的下一个版本中)
-
@Ken,我并不是真的在谈论我在我的程序中处理异常。我假设 ME 已经捕获了异常并向用户展示了一个对话框,其中一个按钮会在该对话框上发送错误报告。我想要的是某种方式知道它没有发送,以及为什么它没有发送,所以我可以指导用户保存错误报告并手动发送电子邮件。
-
您可以将 ME 配置为自动保存错误报告(通过附加到现有报告或截断并开始新报告)以及提供发送它的机会。因此,即使电子邮件失败,您也有一份报告的副本。
-
@Ken。当然,我可以让我自动保存错误报告(当我捕获异常时我可以自己保存它),但我只是认为能够弹出一个对话框说“我无法发送错误报告 - 你介意去
并将 发送到 bugreports@mydomain.com"
标签: delphi exception-handling return-code madexcept bug-reporting