6
begin
# ...
rescue
# ...
end
non prenderà eccezioni che non sono sottoclassi di StandardError
. In C,
rb_rescue(x, Qnil, y, Qnil);
VALUE x(void) { /* ... */ return Qnil; }
VALUE y(void) { /* ... */ return Qnil; }
farà la stessa cosa. Come posso rescue Exception => e
da un'estensione C rubino (anziché solo rescue => e
)?
+1 Basta premere lo stesso problema e questa scoperta ha risolto il mio problema. –
Vorrei votare, ma non sono chiaro su quali callback fanno cosa. Cosa viene chiamato in caso di salvataggio? Cosa viene salvato? –
Suppongo che 'b_proc' sia il codice dopo l'istruzione' begin' e 'r_proc' è il codice di ripristino. – Vortico