/// <summary> /// Starts a fault block /// </summary> public FaultBlock FaultBlock() { if (hasCatchBlocks) { throw new InvalidOperationException("Exception block already has catch blocks - cannot use both catch and fault block"); } if (hasFaultBlock) { throw new InvalidOperationException("Exception block already has fault block"); } if (hasFinallyBlock) { throw new InvalidOperationException( "Exception block already has a finally block - cannot have both fault and finally - try nesting this exception block in another that has its own fault block"); } EnsureTryBlockEnded(); hasFaultBlock = true; generator.BeginFaultBlock(); return(new FaultBlock()); }