Ruby中有一个 ensure
子句保证在代码末尾进行一些处理。无论是否引发异常,ensure
块始终运行。它放置在最后一个rescue
子句之后,并且总是在块终止时执行。无论是出现异常、挽救异常还是因未捕获的异常终止代码,ensure
块将在任何情况下运行。
语法:
begin
code..
#..raise exception
rescue
#.. exception is rescued
ensure
#.. This code will always execute.
end