Se si scrive un metodo ruby come una funzione in C che utilizza rb_raise
, la parte della funzione dopo la chiamata non verrà eseguita e il programma si interromperà e si penserà che rb_raise
utilizzato exit()
. Ma se si salvataggio l'eccezione in Ruby, come:In che modo rb_raise di ruby blocca l'esecuzione della funzione c chiamandola?
begin
method_that_raises_an_exception
rescue
end
puts 'You wil still get here.'
Il codice ruby andrà avanti, ma la funzione si fermerà excecuting. Come fa questo rb_raise
a succedere?