Ruby 2.6.0 リファレンスマニュアル > 関数一覧 > rb_ensure

function rb_ensure

VALUE rb_ensure(VALUE (*body)(), VALUE data1, VALUE (*ensure)(), VALUE data2)

ensure の C 版です。まず body(data1) を実行し、その途中で 例外や exit が起きたとしても ensure(data2) が確実に 実行されます ( body() が正常終了しても実行されます)。