Java >> Tutoriel Java >  >> Java

Différences entre les exceptions cochées et non cochées en Java

Exception cochée vs non cochée

Ici, nous verrons comment l'exception vérifiée diffère de l'exception non vérifiée ?

Exception vérifiée

  • Les exceptions vérifiées sont les exceptions qui seront vérifiées au moment de la compilation.
  • Les exceptions vérifiées sont toutes les exceptions qui nécessitent une gestion de bloc try-catch ou lancent des mots-clés pour spécifier une exception pendant la compilation.
  • Dans le cas des exceptions vérifiées, si le compilateur ne trouve pas la gestion des blocs try-catch, le compilateur ne génère aucune erreur de compilation, mais une exception ne sera pas signalée et pour résoudre ce problème, nous devons utiliser soit try-catch ou lance.
  • Nous verrons quelles exceptions prédéfinies sont des exceptions vérifiées (c. ne pas être une classe enfant de RuntimeException]).
  • Toutes les exceptions d'entrée/sortie liées aux fichiers relèvent de l'exception d'E/S qui sera l'exception vérifiée.
  • Nous devrions opter pour l'exception vérifiée lorsque les risques d'échec du code sont plus élevés pendant les opérations.

Nous verrons quelques exemples d'exceptions vérifiées, qui sont données ci-dessous,

  1. IOException
  2. SQLException
  3. ClassNotFoundException, etc

Exemple :

// Java program to demonstrate the example of 
// Checked Exception

public class CheckedException {
    public static void main(String[] args) throws Exception {
        System.out.println("Exception will raise during compile-time");
    }
}

Remarque : Pour enregistrer le fichier Java avec un nom différent et exécuter avec le nom de la classe

Sortie

Main.java:4: error: class CheckedException is public, 
should be declared in a file named CheckedException.java
public class CheckedException {
       ^
1 error

Ici, nous verrons comment l'exception non vérifiée diffère de l'exception vérifiée ?

Exception non vérifiée

  • Les exceptions non vérifiées sont les exceptions qui ne seront pas vérifiées pendant la compilation.
  • Les exceptions non vérifiées sont toutes les exceptions qui ne nécessitent pas de traitement de bloc try-catch ni de lancement pendant la compilation.
  • Dans le cas d'exceptions non vérifiées, si le compilateur ne trouve pas la gestion des blocs try-catch, le compilateur ne générera pas d'erreur de compilation.
  • Nous verrons quelles exceptions prédéfinies sont des exceptions non vérifiées (c'est-à-dire que les exceptions non vérifiées sont toutes les exceptions qui sont directement la classe enfant de la classe RuntimeException, c'est-à-dire que nous devons nous rappeler que la classe enfant doit être héritée RuntimeException [c'est-à-dire que chaque classe enfant de RuntimeException est non vérifiée exception]).
  • L'exception non vérifiée se produit principalement en raison d'erreurs de programmation ou d'erreurs syntaxiques ou logiques et ces erreurs seront commises par le programmeur.
  • Nous devrions opter pour l'exception non vérifiée lorsque les risques d'échec des erreurs de programmation sont plus élevés lors de la syntaxe, des logiques telles que la tentative d'accès à un objet nul, la transmission d'un argument illégal, l'accès à un élément hors d'un tableau lié, etc.

Nous verrons quelques exemples d'exceptions non vérifiées, qui sont données ci-dessous,

  1. ArrayIndexOutofBoundsException
  2. Exception NullPointer
  3. IllegalArgumentException, etc

Exemple :

// Java program to demonstrate the example 
// of UnChecked Exception

public class UnCheckedException {
    public static void main(String[] args) {

        int a = 10;
        int b = 0;
        int c = a / b;

        System.out.println("The value of c is :" + c);

    }
}

Sortie

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at UnCheckedException.main(UnCheckedException.java:9)

Balise Java