Compiler Error CS1632

Control cannot leave the body of an anonymous method or lambda expression

This error occurs if a jump statement (break, goto, continue, etc.) attempts to move control out of an anonymous method block. An anonymous method block is a function body and can only be exited by a return statement or by reaching the end of the block.

The following sample generates CS1632:

// CS1632.cs
// compile with: /target:library
delegate void MyDelegate();
class MyClass
{
   public void Test()
   {      
      for (int i = 0 ; i < 5 ; i+)
      {
         MyDelegate d = delegate {
            break;   // CS1632
          };        
      }
   }
}