0
我有使用企業庫異常處理應用程序塊的問題。企業庫異常處理「處理」方法
首先是「ExceptionManager.Process」方法。我從文檔中理解的是,您可以執行所需的方法,並且如果它有異常,ExceptionManager將處理它,並且它不需要任何try-catch塊。但是當我使用它時會拋出異常。
builder.ConfigureExceptionHandling()
.GivenPolicyWithName("Data Access Policy")
.ForExceptionType<Exception>()
.LogToCategory("General")
.WithSeverity(System.Diagnostics.TraceEventType.Error)
.UsingEventId(9000)
.WrapWith<InvalidOperationException>()
.UsingMessage("MyMessage").ThenDoNothing();
#endregion
var configSource = new DictionaryConfigurationSource();
builder.UpdateConfigurationWithReplace(configSource);
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
#endregion
var exManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
exManager.Process(GenerateException, "Data Access Policy");
}
private static void GenerateException()
{
throw new NullReferenceException();
}
我已經使用fluent-API來配置應用程序塊。我想將異常記錄到數據庫,並且配置得很好。 ExeptionManager.HandleException運行良好,但它需要位於try-catch塊中。
我該如何使用「Process」方法處理異常而不會中斷並且沒有try-catch塊?