Gestion des erreurs Erreurs
Les valeurs null et les exceptions sont presque inexistantes en Scala : on évite de les utiliser en préférant des structures comme les Option, les Try ou les Either. Dans le cas où des exceptions peuvent survenir, on peut toujours utiliser un bloc try / catch / finally.
Contrairement au Java, on ne peut pas spécifier quelles Exception sont renvoyées par une fonction. C’est pour cela qu’il faut toujours protéger les appels des fonctions qui peuvent en renvoyer avec les blocs suivants. Erreurs:Exception
1. try/catch/finally Erreurs:try Erreurs:catch Erreurs:finally
Comme en Java, il est possible d’encadrer du code pour intercepter les Exception et les traiter. Dans la partie catch, on retrouve un pattern matching décrivant les différents types d’erreurs qu’on peut rencontrer. Dans la partie finally, on peut effectuer des opérations à la fin du bloc, qu’il finisse en erreur ou en succès.
Prenons comme exemple une méthode qui prend en entrée une URL de site Internet sous forme de String et qui imprime le contenu du site.
Dans le bloc try, on va créer une URL à partir de la String et assigner son contenu à une variable contenuDuSite.
Dans le bloc catch, on va intercepter les erreurs liées à une URL incorrecte et celles liées à un site inexistant.
Dans le bloc finally, on imprime le contenu récupéré s’il existe ou une chaîne vide...