6
begin
# ...
rescue
# ...
end
nie złapie wyjątki, które nie są podklasy StandardError
. W języku C:
rb_rescue(x, Qnil, y, Qnil);
VALUE x(void) { /* ... */ return Qnil; }
VALUE y(void) { /* ... */ return Qnil; }
zrobi to samo. Jak mogę rescue Exception => e
z rozszerzenia ruby C (zamiast tylko rescue => e
)?
+1 Wystarczy nacisnąć ten sam problem i to odkrycie rozwiązało mój problem. –
Chciałbym zagłosować na to, ale nie jestem pewien, co oddzwoni robią co. Co zostaje wywołane w razie akcji ratunkowej? Co jest uratowane? –
Zakładam, że 'b_proc' jest kodem po instrukcji' begin', a 'r_proc' jest kodem ratunkowym. – Vortico