(仅代表个人观点,有错误的地方欢迎大家指出,版本2.0)
Exception Block的3个重要概念Policy,Exception,Handling.
层次关系:应用程序:Policy-----Exception-----Handler.
Policy相当于应用程序对异常的分类,如UI Policy,Business Policy,Data Policy.应用程序可以有多个Policy.
Exception相对.net类库中的IOException,OverflowException.可以在一个Policy中添加多个Exception.
对每个Exception可以设置PostHandlerAction,可以是下列3个值之一.
bool flag= ExceptionPolicy.HandleException(ex, "Data Policy");
None:执行Handler后,flag返回false.建议程序继续执行。
NotifyRethrow:执行Handler后,flag返回ture。建议包装异常后抛出
ThrowNewException:执行Handler后直接抛出异常
Handler:当前异常要执行的操作4中
Custom Handler。此异常处理程序让你配置定制的异常处理程序。
Logging Handler:利用日志记录异常,可关联到一个Logging Blcok
Replace Handler。此异常处理程序用另一个异常替换一个异常。
Wrap Handler。此异常处理程序将一个异常包装到另一个异常中。
Exception Block的3个重要概念Policy,Exception,Handling.
层次关系:应用程序:Policy-----Exception-----Handler.
Policy相当于应用程序对异常的分类,如UI Policy,Business Policy,Data Policy.应用程序可以有多个Policy.
Exception相对.net类库中的IOException,OverflowException.可以在一个Policy中添加多个Exception.
对每个Exception可以设置PostHandlerAction,可以是下列3个值之一.
bool flag= ExceptionPolicy.HandleException(ex, "Data Policy");
None:执行Handler后,flag返回false.建议程序继续执行。
NotifyRethrow:执行Handler后,flag返回ture。建议包装异常后抛出
ThrowNewException:执行Handler后直接抛出异常
Handler:当前异常要执行的操作4中
Custom Handler。此异常处理程序让你配置定制的异常处理程序。
Logging Handler:利用日志记录异常,可关联到一个Logging Blcok
Replace Handler。此异常处理程序用另一个异常替换一个异常。
Wrap Handler。此异常处理程序将一个异常包装到另一个异常中。