VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • WF编程系列之基础活动错误处理

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  4.3 错误处理

  Fault,故障,现在官方已经将其翻译为错误,那么以后的随笔中我也就采用官方的翻译吧.

  错误处理也属于流程控制的一部分,这一节我来介绍一下有关错误处理的活动.错误是指在工作流执行期间发生的异常.我们可以使用错误处理程序来捕捉这些异常并尝试做一些”修复”工作.我们可以补偿提交的事务,或者发送Email来警告管理员并等待丢失的数据被修复.

  我们最好在工作流中对可能发生的错误进行处理,如果工作流抛出了一个异常,而我们又不知道如何去处理,那么只能等Runtime终止工作流.

  4.3.1 FaultHandlersActivity

  FaultHandlersActivity并不是列在工具箱中等我们使用的活动.在工作流的错误处理程序视图(fault handlers view)中,默认只有一个空白的复合活动,这就是FaultHandlersActivity.而且不只是工作流, 许多复合活动(如While,Listen,Sequence和TransactionScope…)都可以通过错误处理程序视图来可以处理子活动中的错误.

  在工作流或活动的右键菜单中选择查看错误(View Faults),或者点击设计器底部的第三个按钮就可以转到错误处理程序视图.我们可以在这个视图中使用FaultHandler活动.

《WF编程》系列之30 - 基本活动:错误处理

  4.3.2 FaultHandlerActivity

  FaultHandler活动很好理解,因为它和C#和VB中的catch语句非常相像. FaultHandler可以捕捉异常并执行一些操作.在错误处理程序视图中,我们可以从工具箱里拖放多个FaultHandler活动到设计器图板中,每个FaultHandler都可以包含自己的子活动.我们可以添加多个FaultHandler来处理不同类型的错误(类似catch语句).

  FaultHandler活动有一个FaultType属性,用来表示需要捕捉的异常类型.如果将FaultHandler设置为System.Exception,我们就可以捕捉所有的CLS-compliant异常.处理程序会捕捉所有FaultType类型的异常,或所有继承自FaultType的异常.而FaultHandler活动的另外一个属性-Fault属性则可以将异常绑定到工作流的域或者属性中. 

  Runtime会从左到右依序查找FaultHandler,如果第一个FaultHandler的FaultType是System.Exception,则此FaultHandler就会捕捉所有的异常,这样做的结果就是Runtime不再需要其它的FaultHandler了(也类似catch语句).

  相关文章:《WF编程》系列之21 - 故障 Faults 


相关教程