Exceptions

1. Principe

L’exécution d’un code peut toujours entraîner des erreurs. Ces erreurs peuvent être attendues dans un cadre d’exécution comme un problème d’accès à un fichier, à une base de données… D’autres erreurs plus ennuyeuses résultent d’une configuration anormale comme une division par zéro ou bien l’accès d’une méthode d’un objet nil.

Pour gérer ces exceptions, nous avons à disposition des blocs d’exécution « critiques » dans lesquels les erreurs seront traitées. Chaque erreur est identifiée par un objet. L’objet $! désigne l’erreur courante.

2. Déclenchement d’une exception

Pour générer une exception, nous disposons du mot-clé raise, sans argument, ce dernier génère une exception de classe RuntimeError.

Exemple :

class TestErreurs
  def bonjour( personne )
    if ( personne.nil? ) 
      raise
    end
  end
end

e = TestErreurs.new
e.bonjour( nil ) 

Lors de notre exécution, l’argument de notre méthode bonjour est vide, une exception est exécutée et apparaît ainsi dans la console :

exceptions.rb:6:in `bonjour': unhandled exception
    from exceptions.rb:13 

L’interpréteur de Ruby, nous envoie une pile d’exécution représentant tout en haut la cause de l’erreur (ligne 6) et tout en bas, le dernier code exécuté...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Modules
Suivant
Fonctions étendues