BTS SIO2D
  • Accueil
  • Connexion
25 novembre 2024 par Sarah Testelin

Gestion des exceptions en Java

Gestion des exceptions en Java
25 novembre 2024 par Sarah Testelin

Table des matières

Toggle
  • Gestion des exceptions en Java
    • final, finally et finalize()
      • 1. final
      • 2. finally
      • 3. finalize()
    • Mot-clé throw
    • Mot-clé throws
    • Exceptions personnalisées
    • Top 5 des exceptions les plus courantes
    • Conclusion

Gestion des exceptions en Java

final, finally et finalize()

1. final

  • Modificateur pouvant être appliqué aux classes, méthodes et variables :
    • Une classe final ne peut pas être étendue (pas d’héritage possible).
    • Une méthode final ne peut pas être redéfinie dans une classe fille, empêchant le polymorphisme à l’exécution.
    • Une variable final ne peut pas être réassignée à une nouvelle valeur.

2. finally

Bloc utilisé pour gérer les tâches de nettoyage dans une structure try-catch. Le code dans le bloc finally sera toujours exécuté, que l’exception soit levée ou non, et même si elle est gérée ailleurs.

3. finalize()

Méthode invoquée par le garbage collector avant la destruction d’un objet. Utilisée pour effectuer des activités de nettoyage relatives à l’objet avant qu’il ne soit retiré de la mémoire.

Le garbage collector est un processus automatique qui gère la mémoire en supprimant les objets qui ne sont plus utilisés par le programme. Il permet de libérer de la mémoire en détectant les objets qui ne sont plus accessibles, afin d'éviter les fuites de mémoire. Il fonctionne en arrière-plan, sans intervention manuelle, et garantit que la mémoire est efficacement allouée et libérée pour optimiser les performances de l'application.

Mot-clé throw

Permet de lancer manuellement une exception vers la JVM.

throw new StringLengthException("Une chaîne est requise !");
  • La classe d’exception doit hériter de Throwable, soit directement, soit via Exception ou RuntimeException.
  • Aucune autre instruction ne peut être écrite après un throw.

Mot-clé throws

  • Permet de déclarer qu'une méthode peut lever une ou plusieurs exceptions vérifiées.
  • Deux façons de gérer les exceptions vérifiées :
    • Utilisation d’un bloc try-catch.
    • Utilisation du mot-clé throws pour propager la responsabilité à l’appelant.
  • Utilisable uniquement avec des méthodes ou des constructeurs. Applicable uniquement aux types dérivés de Throwable, sinon cela génère une erreur de compilation.

Exceptions personnalisées

Les développeurs peuvent créer leurs propres exceptions pour répondre à des besoins spécifiques. Exemple :

class StringLengthException extends RuntimeException {
    public StringLengthException(String message) {
        super(message);
    }
}

Recommandé d’hériter de RuntimeException, car les exceptions dérivées de Exception nécessitent une gestion explicite via un bloc try-catch ou un mot-clé throws.

Top 5 des exceptions les plus courantes

  1. NullPointerException : Lancée lorsqu’une référence null est utilisée pour accéder ou modifier un objet.
  2. ArrayIndexOutOfBoundsException : Lancée lorsqu’un tableau est accédé avec un index invalide (négatif ou supérieur à sa taille).
  3. StackOverflowException : Erreur causée par un dépassement de la pile, souvent dû à une récursion infinie.
  4. IllegalArgumentException : Lancée lorsqu’un argument passé à une méthode est invalide ou inapproprié.
  5. IllegalStateException : Lancée lorsqu’une méthode est appelée alors que l’état de l’objet n’est pas compatible avec cette opération.

Conclusion

Cet article donne un aperçu des concepts fondamentaux de la gestion des exceptions en Java, en expliquant les mots-clés, les structures et les pratiques recommandées.

Article précédentPrincipes SOLID en Java : écrire du code propre et évolutifArticle suivant L'automatisation avec Queues et Jobs

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13