我想确保我的@client已关闭,但我也希望像通常那样抛出异常。
这是正确的模式吗?
@client = ....
begin
# code here
rescue
# ????
ensure
@client.close
end
我应该在救援中打电话加注吗?
答案 0 :(得分:2)
如果你不想做任何事情"除了这里的例外,让它像正常一样得到raise
d,然后简单地说:
@client = ....
begin
# code here
ensure
@client.close
end
或者,如果你做想要对异常做些什么,那么:
@client = ....
begin
# code here
rescue => e
puts e.message # Or whatever...
raise e # Then re-raise it!
ensure
@client.close
end