Quelle est la différence entre les erreurs et les exceptions en Java

Quelle est la différence entre les erreurs et les exceptions en Java
Lors de la programmation à Java, il peut y avoir des situations où le développeur atteint diverses limites. Ces goulots d'étranglement peuvent prendre la forme de «les erreurs" ou "des exceptions". Les anciens arrêtent les fonctionnalités du code, en s'abaissant ainsi le programmeur pour passer à autre chose avec le code. Les exceptions, cependant, peuvent être évitées pour gagner du temps et des tracas.

Cet article discutera des différences entre les erreurs Java et les exceptions.

Quelle est la différence entre les erreurs et les exceptions en Java?

Le "les erreurs«En Java, correspond aux cas critiques qui ne peuvent pas être faits par le code. Le "Des exceptions», Dans l'autre cas, peut être détecté et pris en charge dans le code pour assurer la rationalisation du code:

Erreur Exception
L'erreur ne peut pas être récupérée ou manipulée. Les exceptions peuvent être gérées via le «Essayez… attraper" bloc.
Les erreurs ne sont pas connues du compilateur. Les exceptions peuvent ou ne peuvent pas être identifiées par le compilateur.
Les erreurs peuvent être une syntaxe ou une logique. Ceux-ci peuvent être non contrôlés ou vérifiés.

Démonstration de «l'erreur de syntaxe»

Tout d'abord, présentons la survenue du «syntaxe" erreur:

int a = 2
Système.dehors.println (a);

Dans ce code, initialisez simplement l'entier sans spécifier le semi-colon ";»Et affichez-le.

Sortir

Le code discuté entraînera la journalisation affichée "erreur de syntaxe"En raison d'un point-virgule manquant.

Solution

Comme observé, par le placement de «;», L'erreur face disparaît.

Démonstration de «erreur logique»

Maintenant, discutons de l'apparence du «logique" erreur:

classe parent
public void affiche ()
Système.dehors.println ("Linuxhint!");

Class Child étend le parent
public void affiche ()
afficher();
Système.dehors.println ("Programmation Java!");

classe publique ErrorDemo
public static void main (String args [])
Enfant obj = new Child ();
obj.afficher();

Dans cet extrait de code, appliquez les étapes ci-dessous:

  • Créer une classe parent nommée "Parent"Et accumule la fonction"afficher()«Dans ce domaine, affichant le message fourni.
  • Dans l'étape suivante, créez une classe d'enfants nommée «Enfant«Héritage de la classe parent via le«prolongement" mot-clé.
  • Au sein de cette classe, remplacez la fonction identique à sa classe parentale pour accéder à ses fonctionnalités.
  • Enfin, dans le «principal», Créez un objet de la classe enfant et invoquez la fonction remplacée qui affichera le«erreur"Étant donné qu'aucune référence n'est adoptée.

Sortir

Dans cette sortie, on peut voir que la limitation déclarée a été affichée. Le "Stackoverflow«L'erreur est généralement causée par une récursivité infinie.

Solution

Dans ce résultat, il peut être laissé entendre qu'en associant le «super”Mot-clé, la confusion entre la fonction de classe enfant et parent identique est éliminée et donc l'erreur disparaît.

Démonstration de «exception»

Maintenant, discutons de l'exemple suivant indiquant le visage et manipulé «exception»:

essayer
int a = 2;
int b = a / 0;
Système.dehors.println (b);

catch (arithmeticexception e)
Système.dehors.println (e.getMessage ());

Dans ce bloc de code:

  • Tout d'abord, spécifiez le «essayer" bloc. Dans ce bloc, renvoyez la division des entiers initialisés tels que «infini"Est retourné.
  • Cette action se traduit dans le renvoi d'une exception.
  • Pour gérer cette exception, répondez à l'exception probable dans le «attraper" bloc.
  • Dans ce bloc, affichez le message d'exception à l'aide du «getMessage ()" méthode.

Sortir

De cette sortie, il peut être analysé que l'exception face à face est gérée de manière appropriée.

Conclusion

Le "les erreurs«En Java ne peut pas être manipulé ou résolu par le code tandis que le«Des exceptions«Peut être détecté et géré en faisant le code rationalisé. Les erreurs deviennent un goulot d'étranglement pour poursuivre les fonctionnalités tandis que les exceptions peuvent être évitées. Ce blog a discuté des différences entre les erreurs visées et les exceptions en Java.