VALUE rb_rescue(VALUE (*b_proc)(), VALUE data1, VALUE (*r_proc)(), VALUE data2)
まず b_proc(data1) を実行し、その途中で例外が発生したら r_proc(data2) を実行します。捕捉する例外は StandardError のサブクラスだけです。