Welcome to Our Website

Exceptions vérifiées et non cochées en java avec des exemples

Il existe deux types d’exceptions: exception vérifiée et exception non cochée. Dans ce guide, nous allons en discuter. La principale différence entre activée et désactivée exception est que l’objet d’exceptions sont vérifiées au moment de la compilation, tout décoché exceptions sont vérifiées au moment de l’exécution.

quelles sont les exceptions vérifiées?

Les exceptions vérifiées sont vérifiées au moment de la compilation., Cela signifie que si une méthode lance une exception vérifiée, elle doit gérer l’exception à l’aide du bloc try-catch ou déclarer l’exception à l’aide du mot-clé throws, sinon le programme donnera une erreur de compilation.

permet de comprendre cela à l’aide d’un exemple:

exemple D’Exception vérifié

dans cet exemple, nous lisons le fichiermyfile.txt et affichons son contenu à l’écran. Dans ce programme, il y a trois endroits où une exception vérifiée est levée comme mentionné dans les commentaires ci-dessous., FileInputStream qui est utilisé pour spécifier le chemin et le nom du fichier, lanceFileNotFoundException. La méthode read() qui lit le contenu du fichier jette IOException et la méthode close() qui ferme le fichier de flux d’entrée jette aussi IOException.

Résultat:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: Unhandled exception type FileNotFoundExceptionUnhandled exception type IOExceptionUnhandled exception type IOException

Pourquoi cette erreur de compilation? Comme je l’ai mentionné au début, les exceptions vérifiées sont vérifiées pendant la compilation. Comme nous n’avons pas traité/déclaré les exceptions, notre programme a donné l’erreur de compilation.
Comment faire pour résoudre l’erreur?, Il y a deux façons d’éviter cette erreur. Nous verrons les deux façons une par une.

Méthode 1: déclarer l’exception en utilisant le mot clé throws.
comme nous savons que les trois occurrences d’exceptions vérifiées sont à l’intérieur de la méthode main (), une façon d’éviter l’erreur de compilation est: déclarer l’exception dans la méthode en utilisant le mot clé throws. Vous pensez peut-être que notre code lance FileNotFoundException et IOException alors pourquoi nous déclarons l’IOException seule. La raison en est que IOException est une classe parente de FileNotFoundException donc elle couvre par défaut cela., Si vous le souhaitez, vous pouvez les déclarer comme ceci public static void main(String args) throws IOException, FileNotFoundException.

sortie:
Le contenu du fichier est affiché à l’écran.

Méthode 2: gérez-les à l’aide de blocs try-catch.
l’approche que nous avons utilisée ci-dessus n’est pas bonne du tout. Ce n’est pas la meilleure pratique de gestion des exceptions. Vous devez donner un message significatif pour chaque type d’exception afin qu’il soit facile pour quelqu’un de comprendre l’erreur. Le code devrait être comme ceci:

ce code fonctionnera correctement et affichera le contenu du fichier.,

Voici les quelques autres Checked Exceptions –

  • SQLException
  • IOException
  • ClassNotFoundException
  • InvocationTargetException

Ce ne sont pas cochées exceptions?

Les exceptions non cochées ne sont pas cochées au moment de la compilation. Cela signifie que si votre programme lance une exception non cochée et même si vous n’avez pas géré/déclaré cette exception, le programme ne donnera pas d’erreur de compilation. La plupart du temps, ces exceptions se produisent en raison des mauvaises données fournies par l’utilisateur lors de l’interaction utilisateur-programme., Il appartient au programmeur de juger à l’avance les conditions qui peuvent provoquer de telles exceptions et de les gérer de manière appropriée. Toutes les exceptions non cochées sont des sous-classes directes de la classe RuntimeException.

Permet de comprendre avec un exemple:

Décoché Exception Exemple

Si vous compilez ce code, le compiler avec succès toutefois, lorsque vous l’exécutez, il jetterait ArithmeticException. Cela montre clairement que les exceptions non cochées ne sont pas vérifiées au moment de la compilation, elles se produisent au moment de l’exécution. Permet de voir un autre exemple.,

CE code compilerait également avec succès carArrayIndexOutOfBoundsException est également une exception non cochée.
remarque: cela ne signifie pas que le compilateur ne vérifie pas ces exceptions, nous ne devrions donc pas les gérer. En fait, nous devrions les gérer plus soigneusement. Par exemple, dans l’exemple ci-dessus, il devrait y avoir un message d’exception à l’utilisateur indiquant qu’il essaie d’afficher une valeur qui n’existe pas dans le tableau afin que l’utilisateur puisse corriger le problème.,

Output:

The specified index does not exist in array. Please correct the error.

Here are the few unchecked exception classes:

  • NullPointerException
  • ArrayIndexOutOfBoundsException
  • ArithmeticException
  • IllegalArgumentException
  • NumberFormatException

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *