異常處理應用程式區塊讓開發人員與決策者能針對企業應用架構各層的異常建立一致處理策略,特色:
ExceptionPolicy.HandleExceptionSystem.Exception 的類型;每個類型可掛載多個處理器[Serializable]
public class ExceptionHelper : ApplicationException
{
public ExceptionHelper() : base() { }
public ExceptionHelper(string message) : base(message) { }
public ExceptionHelper(string message, Exception inner) : base(message, inner) { }
protected ExceptionHelper(SerializationInfo info, StreamingContext context) : base(info, context) { }
}
Wrap Policy、Replace Policy、Log Policy

copy "$(ProjectDir)\*.config" "$(TargetDir)"
// 包裝策略
private void btn_Wrap_Click(object sender, EventArgs e)
{
try { throw new Exception(); }
catch (DllNotFoundException ex) { Handle("Wrap Policy", ex); }
catch (Exception ex) { Handle("Wrap Policy", ex); }
}
// 替換策略
private void btn_Replace_Click(object sender, EventArgs e)
{
try { throw new Exception(); }
catch (Exception ex) { Handle("Replace Policy", ex); }
}
// 記錄策略
private void btn_Log_Click(object sender, EventArgs e)
{
try { throw new Exception(); }
catch (Exception ex) { Handle("Log Policy", ex); }
}
private void Handle(string policy, Exception ex)
{
bool flag = ExceptionPolicy.HandleException(ex, policy);
if (flag) throw;
}

異常處理區塊相對簡單,入門篇介紹三大基本策略的建立與使用。進階篇將深入資料庫記錄、傳播機制、格式化與自訂處理器。