ECMA-334: 12.3.3.15 Try-catch-finally statements
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
12.3.3.15 Try-catch-finally statements
Definite assignment analysis for a try-catch-finally statement of the form:
trytry-blockcatch (…)catch-block-1- …
catch (…)catch-block-nfinallyfinally-block
is done as if the statement were a try-finally statement enclosing a try-catch statement:
try{trytry-blockcatch (…)catch-block-1- …
catch (…)catch-block-n
}finallyfinally-block
[Example: The following example demonstrates how the different blocks of a try statement (§15.10) affect
definite assignment.
class A { static void F() { int i, j; try { goto LABEL; // neither i nor j definitely assigned i = 1; // i definitely assigned } catch { // neither i nor j definitely assigned i = 3; // i definitely assigned } finally { // neither i nor j definitely assigned j = 5; // j definitely assigned } // i and j definitely assigned LABEL:; // j definitely assigned } }
end example]