135 votes

Comment utiliser le sauvetage dans Rails sans les blocs begin et end

Je connais la technique standard de la fin d'un sauvetage

Comment utiliser le bloc de secours seul?

Comment cela fonctionne-t-il et comment sait-il quel code est surveillé?

260voto

neutrino Points 11643

Une méthode "def" peut servir d'instruction "begin":

 def foo
  ...
rescue
  ...
end
 

53voto

peku Points 842

Vous pouvez également sauver inline:

 1 + "str" rescue "EXCEPTION!"
 

imprimera "EXCEPTION!" puisque 'String ne peut pas être forcé dans Fixnum'

30voto

Edwin V. Points 777

J'utilise beaucoup la combinaison def / rescue avec les validations ActiveRecord:

 def create
   @person = Person.new(params[:person])
   @person.save!
   redirect_to @person
rescue ActiveRecord::RecordInvalid
   render :action => :new
end
 

Je pense que c'est du code très maigre!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X