Si escribe un método Ruby como una función en C que usa rb_raise
, la parte de la función después de la llamada no se ejecutará y el programa se detendrá y pensará que rb_raise
usó exit()
. Pero si usted rescata la excepción de rubí, como:¿Cómo funciona el rb_raise de ruby para detener la ejecución de la función c llamándolo?
begin
method_that_raises_an_exception
rescue
end
puts 'You wil still get here.'
El código Ruby continuará, pero su función se detendrá excecuting. ¿Cómo lo hace posible rb_raise
?