diff options
author | Robin Morisset <rmorisset@fb.com> | 2023-04-05 09:06:27 -0700 |
---|---|---|
committer | Robin Morisset <rmorisset@fb.com> | 2023-04-05 09:06:27 -0700 |
commit | ce6d9a8377ba80f4635df09c0110a39cceddd995 (patch) | |
tree | b943b70028cb83ce4942da2d7a7d27e2d19698b9 /system/doc/reference_manual | |
parent | 15c0e82388e8231b46c44acb0fa3a8a8fc327f3f (diff) | |
download | erlang-ce6d9a8377ba80f4635df09c0110a39cceddd995.tar.gz |
Document the scoping rules for try/catch/of/after expressions
Fixes #6598.
Diffstat (limited to 'system/doc/reference_manual')
-rw-r--r-- | system/doc/reference_manual/expressions.xml | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/system/doc/reference_manual/expressions.xml b/system/doc/reference_manual/expressions.xml index 34e622a67e..6b3ba96b6b 100644 --- a/system/doc/reference_manual/expressions.xml +++ b/system/doc/reference_manual/expressions.xml @@ -1938,6 +1938,20 @@ catch exit:Reason -> {'EXIT',Reason} error:Reason:Stk -> {'EXIT',{Reason,Stk}} end</code> + + <p>Variables bound in the various parts of these expressions have different scopes. + Variables bound just after the <c>try</c> keyword are:</p> + <list type="bulleted"> + <item>bound in the <c>of</c> section</item> + <item>unsafe in both the <c>catch</c> and <c>after</c> sections, as well as after the whole construct</item> + </list> + <p>Variables bound in <c>of</c> section are:</p> + <list type="bulleted"> + <item>unbound in the <c>catch</c> section</item> + <item>unsafe in both the <c>after</c> section, as well as after the whole construct</item> + </list> + <p>Variables bound in the <c>catch</c> section are unsafe in the <c>after</c> section, as well as after the whole construct.</p> + <p>Variables bound in the <c>after</c> section are unsafe after the whole construct.</p> </section> <section> @@ -2426,4 +2440,3 @@ KeyPattern := ValuePattern <- MapExpression</pre> * 1:7: syntax error before: '<'</pre> </section> </chapter> - |