ECMA-334: 12.3.3.14 Try-finally statements

Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio


Jump to: navigation, search
C# Language Specification
© 2006 ECMA International

12.3.3.14 Try-finally statements

For a try statement stmt of the form:

try try-block finally finally-block
  • The definite assignment state of v at the beginning of try-block is the same as the definite assignment state of v at the beginning of stmt.
  • The definite assignment state of v at the beginning of finally-block is the same as the definite assignment state of v at the beginning of stmt.
  • The definite assignment state of v at the end-point of stmt is definitely assigned if (and only if) either:
  • v is definitely assigned at the end-point of try-block
  • v is definitely assigned at the end-point of finally-block

If a control flow transfer (such as a goto statement) is made that begins within try-block, and ends outside of try-block, then v is also considered definitely assigned on that control flow transfer if v is definitely assigned at the end-point of finally-block. (This is not an only if—if v is definitely assigned for another reason on this control flow transfer, then it is still considered definitely assigned.)


Today's Deals: Electronics

Personal tools