我有一段代码可以运行,并且我想在某个函数的出口处执行一些代码,例如关闭连接。
fn(io) = begin
write(io)
# do lots of stuff which can fail
...
# want close connection
on_exit(()->close(io))
end
答案 0 :(得分:7)
对于此特定示例,您可能会使用do
块:
open("myfile.txt", "w") do io
write(io, "Hello world!")
end
在更一般的情况下,您可以使用finally
。来自文档字符串:
在给定的代码块退出时运行一些代码,无论如何 它退出。对于 例如,这是我们如何保证打开的文件已关闭:
f = open("file") try operate_on_file(f) finally close(f) end