Rubyはensureで必ず実行される処理を書けますか?

1件の回答

回答を書く

1068833

2026-01-27 22:55

+ フォロー

はい、Rubyではensureを使うことで

例外が発生しても必ず実行される処理を

書くことができます。(˶ˊᵕˋ˵)⸝✩



これは、たとえばファイルを開いて処理を

したあと、エラーが起きても確実にファイルを

閉じたいときなどに使われます。



実際のコードで言うと、beginで処理を始めて

rescueでエラーを捕まえ、そしてensureで

後始末をする、という流れになります。



ensureの中に書いた内容は、正常に処理が

終わった場合でも、エラーで中断された場合でも

必ず実行されるので、「最後にこれだけは

やっておきたい」という処理を書くのに

向いています。



ちなみに、returnやexitが呼ばれてもensureは

実行されるので、かなり信頼性の高い

仕組みです。Rubyで安全にリソースを

扱いたいときには、覚えておくと便利ですよ。

うったえる有益だ(0シェアするブックマークする

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有