Exception을 핸들링하는 방법은 기본적으로 .NET Framework 기본 핸들링 법칙을 따릅니다.
그러나 좀 더 구체적인 핸들링이 필요한 경우, 핸들링에 필요한 부가적인 정보를 담아 Exception 메커니즘에 전달을 합니다.
최종적인 예외처리는 개발자의 몫으로 남겨지며, 부가적인 핸들링 정보도 함께 얻을 수 있도록 해야 합니다.
DEXTFramework.NET의 예외 핸들링에는 크게 3가지 정책을 따릅니다.
- NoAction: 아무 처리도 하지 않습니다.
- Propagating: 예외 객체를 전달 메커니즘을 통하여 상위 호출자로 보냅니다.
- Logging: 발생한 로그를 정책 처리 시점에서 로그를 남기도록 합니다.
위의 3가지 정책은 ExceptionHandlePolicy 열거형으로 정의가 되어 있습니다.
예외 정책을 ExceptionHandlePolicy.Propagating을 하지 않는다면 상위 호출자로 예외를 전달하지 않습니다.
그러므로 catch 절에서는 Handle 메소드 호출 후 다음 코드를 수행하게 됩니다.
사용자가 직접 예외 객체를 생성해야 하는 경우도 있습니다.
| 기존 exception 객체를 wrapping |
|
|
data 파라미터는 직렬화(Serialization)가 가능한 객체이어야 합니다.
시스템 레이어는 LayerDescription 클래스가 담당합니다.
이 클래스는 단순히 레이어 정보만을 가지고 있으며, SystemLayer 열거형식 또는 문자열 정보를 통하여 초기화됩니다.
| 기존 exception 객체를 wrapping |
|
|