Defer statement
Instead of a try finally statement a defer statement can be used.
Any statements following the defer in the current block will be considered to be in an implicit try block:
proc main =
var f = open("numbers.txt")
defer: close(f)
f.write "abc"
f.write "def"
Is rewritten to:
proc main =
var f = open("numbers.txt")
try:
f.write "abc"
f.write "def"
finally:
close(f)
Top level defer statements are not supported since it’s unclear what such a statement should refer to.
当前内容版权归 nim-lang.org 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 nim-lang.org .