我有兩個我想用於錯誤處理的靜態方法。其中一個傳遞異常對象,另一個僅在需要報告基於文本的消息(字符串errorMessage)的錯誤時使用。重載最佳實踐
這兩種方法中的代碼幾乎與消息如何構建併發送到日誌文件的例外情況相同。我如何重構這個,以便我不重複代碼?
public static void ReportError(Exception exceptionRaised, string reference, string customMessage, bool sendEmail)
{
// get filename
// check if logfile exists, blah, blah
// build up message from exception, reference & custom message using string builder
// save message
// email error (if set)
}
public static void ReportError(string errorMessage, string reference, bool sendEmail)
{
// get filename
// check if logfile exists, blah, blah
// build up message from errorMessage & reference string builder
// save message
// email error (if set)
}
謝謝。
我個人更喜歡這種工作方式,因此它也是我的答案。我不喜歡將'''''和'null'值傳遞給方法,即使它對開發用戶是隱藏的。所以+1。 – GenericTypeTea 2010-09-03 09:17:51
感謝您的回覆。這看起來像我喜歡的方式,因爲我也不喜歡發送空值。我注意到了其他的註釋,並重新排列了參數的順序,並將字符串errorMessage重命名爲字符串customMessage - 這與其他方法更一致。 非常感謝 – StuffandBlah 2010-09-03 09:43:34