06-09-2009, 01:08 PM
C'est globalement ce que tu vas faire en gérant les exceptions. Tu peux gérer différemment chaque type comme bon te semble.
Par exemple, avec le code qui suit, je gère les exceptions pour toute mon application puisque tous mes contrôleurs héritent (directement ou non) de ApplicationController. Bien sûr, si à un endroit je veux une gestion différente, j'ai juste à surcharger la méthode à qui je délègue la gestion (ici handle_record_not_found et handle_record_not_saved) à cet endroit spécifique.
Enfin bref, le or die() c'est marrant pendant le développement, en dehors de ça, ça n'a aucun intérêt par rapport aux exceptions.
Sephi-Chan
Par exemple, avec le code qui suit, je gère les exceptions pour toute mon application puisque tous mes contrôleurs héritent (directement ou non) de ApplicationController. Bien sûr, si à un endroit je veux une gestion différente, j'ai juste à surcharger la méthode à qui je délègue la gestion (ici handle_record_not_found et handle_record_not_saved) à cet endroit spécifique.
class ApplicationController < ActionController::Base
rescue_from ActiveRecord::RecordNotFound, :with => :handle_record_not_found
rescue_from ActiveRecord::RecordNotSaved, :with => :handle_record_not_saved
protected
def handle_record_not_found
# Cette méthode gère les exceptions ActiveRecord::RecordNotFound.
end
def handle_record_not_saved
# Cette méthode gère les exceptions ActiveRecord::RecordNotSaved.
end
end
Enfin bref, le or die() c'est marrant pendant le développement, en dehors de ça, ça n'a aucun intérêt par rapport aux exceptions.
Sephi-Chan