6
begin
# ...
rescue
# ...
end
sẽ không bắt ngoại lệ mà không phải là lớp con của StandardError
. Trong C,
rb_rescue(x, Qnil, y, Qnil);
VALUE x(void) { /* ... */ return Qnil; }
VALUE y(void) { /* ... */ return Qnil; }
cũng sẽ làm tương tự. Làm thế nào tôi có thể rescue Exception => e
từ tiện ích mở rộng Ruby (thay vì chỉ rescue => e
)?
+1 Chỉ cần nhấn cùng vấn đề và khám phá này đã giải quyết được vấn đề của tôi. –
Tôi sẽ bỏ phiếu này, nhưng không rõ ràng về những gì gọi lại làm những gì. Những gì được gọi trong trường hợp cứu hộ? Những gì đang được giải cứu? –
Tôi giả sử 'b_proc' là mã sau câu lệnh' begin' và 'r_proc' là mã cứu hộ. – Vortico