我有一些代碼給一個實用程序,然後發送電子郵件給該用戶的用戶ID。您是否爲特定問題或一般例外編寫例外情況?
emailUtil.sendEmail(userId, "foo");
public void sendEmail(String userId, String message) throws MailException {
/* ... logic that could throw a MailException */
}
MailException
可以拋出一些原因,與電子郵件地址的問題,與郵件模板的問題等
我的問題是:你創建的每一個新的異常類型這些異常,然後單獨處理它們,或者您是否創建一個MailException,然後在異常(計算機可讀,而不是描述文本)中存儲一些東西,這些異常允許我們根據實際發生的事情做不同的事情。
編輯:作爲一個澄清,例外不適用於日誌和不是,這與代碼如何對它們做出反應有關。爲了保持與郵件例如去,讓我們說,當我們發送郵件可能失敗,因爲你沒有一個電子郵件地址,或者它可能是因爲你沒有有效的電子郵件地址,或者它可能會失敗..等
我的代碼會想不同的反應,每一個問題(主要是通過改變信息返回給客戶端,但實際的邏輯也一樣)。
難道是最好有這不得不給它一些內部的這些問題,每一個或一種把傘異常的異常實現(枚舉說了),讓代碼區分什麼樣的問題,它是。
你還記錄你的例外服務器端? – pjp 2009-08-07 10:39:42
@php:是的,好點,如果它是一個服務器代碼。對於真正的客戶端應用程序(而不是web),我通常也可以選擇在客戶端登錄異常以進行調試。 – 2009-08-08 17:21:54