Lancer une exception?

Re-salut,

Je n’arrive pas à trouver comment lancer une exception depuis une
méthode de mon modèle pour que le contrôleur stoppe l’appli avec un
message d’erreur.
Ex. une classe Image avec une méthode create_thumbnail qui renverrait 2
exceptions

  • répertoire de destination n’existe pas ou n’est pas accessible en écriture
  • la création de la vignette a échoué

Est-ce possible ?

merci

Bonjour !

C’est plus une question purement Ruby… pour lancer une exception, il
faut utiliser la méthode “raise”, ou “fail”, comme ceci :

raise classe_exception, message (raise StandardError, “erreur
méchante”)
raise objet_exception
raise message
raise

Par défaut, la classe d’exception est RuntimeError.

En espérant t’avoir aidé.

Par défaut, la classe d’exception est RuntimeError.

En espérant t’avoir aidé.

Merci, ca fonctionne. C’est effectivement plus une question Ruby mais je
pensais que Rails implémentait ses propres exceptions qui auraient pu
correspondre à ce que je cherche.

Non non, et c’est là la beauté de Rails : ça reste du Ruby. Pas de
langage spécifique, rien d’autre que du Ruby.

Si, par la suite, tu as d’autres questions spécifiques à Ruby,
n’hésite pas à nous les poser sur la liste de diffusion de RubyFR ou
sur notre salon IRC #rubyfr sur FreeNode (réseau IRC où se trouve
également #rubyonrails.fr).

Cordialement,