Exceptions

Lorsqu’une erreur se produit, l’API IMu Java lève une exception. L'exception est un objet IMuException. Il s’agit d’une sous-classe de la classe standard Exception de Java.

Pour une gestion simple des erreurs, il suffit généralement d’intercepter l’exception et de la signaler sous forme de chaîne :

try { // ⋯ } catch (IMuException e) { System.out.println("Error: " + e); System.exit(0); } 

La classe IMuException remplace la méthode Exception de la classe toString() et renvoie un message d’erreur.

Pour gérer des erreurs IMu spécifiques, il est nécessaire de vérifier que l’exception est un objet IMuException avant de l’utiliser. La classe IMuException comprend une propriété appelée id. Il s’agit d’une chaîne de caractères contenant le code d’erreur interne IMu pour l’exception. Par exemple, vous pouvez intercepter l’exception levée lorsque la méthode connect d’un objet Session échoue et essayer de vous connecter à un autre serveur :

 String mainServer = "server1.com"; String alternativeServer = "server2.com"; Session session = new Session(); session.setHost(mainServer); try { session.connect(); } catch (IMuException e) { //Vérifier l'existence d'une erreur spécifique à SessionConnect if (e.getID() != "SessionConnect") { System.out.println("Error: " + e); System.exit(1); } session.setHost(alternativeServer); try { session.connect(); } catch (Exception e) { System.out.println("Error: " + e); System.exit(1); } } /* * À ce stade, la session est connectée soit au serveur principal, * soit au serveur de remplacement. */