Wenn Sie eine Ruby-Methode als eine Funktion in C schreiben, die rb_raise
verwendet, wird der Teil der Funktion nach dem Aufruf nicht ausgeführt und das Programm wird gestoppt und Sie werden denken, dass rb_raise
exit()
verwendet wird. Aber wenn Sie die Ausnahme in Ruby retten, wie:Wie Rubys rb_raise die Ausführung der c-Funktion stoppen sie nennen?
begin
method_that_raises_an_exception
rescue
end
puts 'You wil still get here.'
Der Ruby-Code wird weitergehen, aber Ihre Funktion stoppt excecuting. Wie macht das rb_raise
dies möglich?