我這些天書面方式的API一些數據操縱和我都面臨着一個問題,我不能回答自己:d自定義異常類,以提醒的錯誤和日誌
我已經擴展了.NET的異常類應用程序異常類,因爲我想添加一些功能,每當API拋出異常時執行。 例如,我想通過短信和電子郵件提醒錯誤消息和堆棧跟蹤,我想通過Log4net記錄內部異常。我不知道這是否是使用自定義異常類的好方法,或者是否濫用了自定義異常的含義。
我已閱讀this article有關如何擴展在C# 所以這裏的異常,我們用我的代碼示例去:
public class CustomExceptionClass : Exception
{
/// <summary>
/// I use custom functionality here everytime this exception occures
/// </summary>
/// <param name="errorMessage">error message</param>
/// <param name="innerEx">Inner exception that cause this exception</param>
public MyCustomException(string errorMessage, Exception innerEx) : base(errorMessage, innerEx)
{
//log exception
_log.ErrorFormat(errorMessage, innerEx);
//alert via sms and email
AlertMailer.SendAlertMessage(errorMessage, innerEx, innerEx.Message);
}
}
其他人都表示它已經,但無論如何:只是構建一個異常對象,但這並不意味着它永遠不會被拋出,更何況在它的代碼構造(近似)的位置。另外請注意,此時的exeception對象的StackTrace是非常無用的,因爲它將是「空的」(此時沒有拋出異常)。 – 2011-01-12 12:41:32