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

相關問題