엔터프라이즈 라이브러리 예외 처리 응용 프로그램 블록 사용에 대한 질문이 있습니다.엔터프라이즈 라이브러리 예외 처리 "프로세스"메서드
첫 번째는 "ExceptionManager.Process"메소드입니다. 내가 문서에서 이해 한 것은 당신이 원하는 메소드를 실행할 수 있다는 것과 ExceptionManager가 ExceptionManager를 처리하고 ExceptionManager가 try-catch 블록을 필요로하지 않는다는 것입니다. 하지만 그것을 사용할 때 예외가 throw됩니다.
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 블록에 있어야합니다.
중단없이 try-catch 블록없이 예외를 처리하는 "프로세스"방법은 어떻게 사용할 수 있습니까?