public override void BeginExceptionBlock()
{
// Create a new active exception region stack, if necessary.
if (this.activeExceptionRegions == null)
this.activeExceptionRegions = new Stack<ExceptionRegion>();
// Create a new exception region.
var region = new ExceptionRegion();
region.Start = this.offset;
region.EndLabel = this.CreateLabel();
region.Clauses = new List<ExceptionClause>(3);
// Push the exception region to the stack.
this.activeExceptionRegions.Push(region);
}