我想确保我的@client已关闭,但我也希望像通常那样抛出异常。
这是正确的模式吗?
@client = ....
begin
# code here
rescue
# ????
ensure
@client.close
end
我应该在救援中叫加注吗?
如果你不想在这里做任何“做任何事情”,只是让它像正常一样得到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