Emit学习-进阶篇-异常处理

异常的处理也是程序中比较重要的一个部分,今天我们就针对用IL书写异常处理代码进行讲解,首先照例给出要实现的类的C#代码,如下:

ExceptionHandler

代码比较简单,主要就是阐述如何在IL代码中加入trycatch块。这里面会用到ILGenerator类中的几个新方法,介绍如下:

l  BeginExceptionBlock:用来表示需要异常处理的代码的开始,相当于C#代码中的try关键字;

l  EndExceptionBlock:这个与BeginExceptionBlock配对,用来表示异常处理的结束。注意:这里的结束并不是只try语句块的结束,而是指整个try catch语句块的结束;

l  BeginCatchBlock:这个用来表示catch操作的开始,该方法需要传入要需要捕捉的一场的类型,程序中可以有多个BeginCatchBlock,即多个catch块。

相关代码如下:

Exception
  最后同样提供源代码的下载
异常处理

posted on 2009-03-27 09:22  yingql  阅读(1557)  评论(6编辑  收藏  举报

导航