12.3.3.14 Try-finally statements
For a try statement stmt of the form:
try try-block finally finally-block
Chapter 12 Variables
107
?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:
o v is definitely assigned at the end-point of try-block
o 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.)
For a try statement stmt of the form:
try try-block finally finally-block
Chapter 12 Variables
107
?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:
o v is definitely assigned at the end-point of try-block
o 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.)
博客主要围绕try-finally语句展开,阐述了在该语句形式下变量的确定赋值状态。包括在try-block和finally-block开始时变量的赋值状态与语句开始时相同,以及语句结束点变量确定赋值的条件,还提及控制流转移时变量赋值状态的判定。
1万+

被折叠的 条评论
为什么被折叠?



