Maison > Java > javaDidacticiel > Exception d'exécution Java

Exception d'exécution Java

WBOY
Libérer: 2024-08-30 16:14:06
original
319 Les gens l'ont consulté

Les exceptions sont celles levées lorsqu'une erreur est rencontrée lors de l'exécution d'un code en Java. RuntimeException en Java est celle qui est appelée la classe parent de toutes les exceptions dans le langage de programmation Java, qui planteront ou tomberont en panne lors de l'exécution du programme ou de l'application au fur et à mesure qu'elles se produisent. Mais par rapport aux autres exceptions, celles-ci sont différentes et ne peuvent pas être détectées en les spécifiant dans le code comme pour les autres.

Fonctionnement de RuntimeException en Java

Il appartient à la classe parent d'Exception dans l'ordre Object -> Jetable -> Exception ->RuntimeException. Par conséquent, il peut être appelé la superclasse de toutes les exceptions qui peuvent être levées lors de l'exécution des opérations régulières de la JVM (Java Virtual Machine). Cette RuntimeException et ses sous-classes relèvent d'une classe d'exceptions appelées « exceptions non contrôlées ». Ceux-ci ne peuvent pas et ne doivent pas être spécifiés dans la clause du constructeur ou de la méthode.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Constructeurs de RuntimeException en Java

Vous trouverez ci-dessous les constructeurs de RuntimeException :

1. RuntimeException (): Cela nous renvoie la nouvelle exception d'exécution dont le message détaillé est nul.

Syntaxe :

public RuntimeException()
Copier après la connexion

La cause ici ne sera pas initialisée et peut être effectuée en appelant la classe Throwable.initCause (java.lang.Throwable).

2. RuntimeException (String msg) : Cela génère également une nouvelle exception d'exécution mais contient le message détaillé défini que nous avons fourni dans le code Java.

Syntaxe :

public RuntimeException (String msg)
Copier après la connexion

Identique à la fonction ci-dessus, la cause ne sera pas initialisée par défaut, et la même chose peut être faite en appelant Throwable.initCause (java.lang.Throwable). Le msg ici est le message détaillé, qui sera enregistré pour être récupéré ultérieurement par la méthode Throwable.getMessage ().

3. RuntimeException (String msg, Throwable cause) : Cela lève une nouvelle exception d'exécution avec le message d'erreur défini et sa cause.

Syntaxe :

public RuntimeException (String message, Throwable cause)
Copier après la connexion

Notez que le message ici n'est pas automatiquement inclus et doit être spécifié explicitement. Ici, la cause est récupérée à partir de la fonction Throwable.getCause (), et ici une valeur nulle est autorisée, ce qui symbolise que sa cause n'existe pas ou est inconnue.

4. RuntimeException (String msg, Throwable cause, booleanenableSupp, booleanwritableStack): Cela donne une nouvelle exception d'exécution avec le message d'erreur décrit en détail, sa cause spécifique, activateSupp représentant si sa suppression a été activée ou désactivée, et le writableStack étant son trace de la pile si elle est activée ou désactivée.

Syntaxe :

protected RuntimeException (String message,
Throwable cause,
booleanenableSuppression,
booleanwritableStackTrace)
Copier après la connexion

Cela donne une nouvelle exception d'exécution avec la cause définie et un message détaillé spécifié, sa cause, si la suppression est activée ou désactivée, et si la trace de pile inscriptible a été activée ou non. Le message ici est le message spécifique que nous affichons, la cause indiquant s'il existe ou non, activateSuppression indique si la suppression est autorisée ou non et writableStackTrace spécifie si la trace de la pile doit être accessible en écriture ou non.

5. RuntimeException (Throwable cause): Ceci lève une nouvelle exception d'exécution avec la cause donnée et un message d'erreur détaillé spécifié de la condition (cause==null ? null : cause.toString ()), qui a essentiellement la classe et son particulier message de cause.

Syntaxe :

public RuntimeException (Throwable cause)
Copier après la connexion

La cause est conservée pour une récupération ultérieure par la méthode Throwable.getCause (), et lorsqu'une valeur nulle est autorisée, elle indique que sa cause n'est pas connue.

Comment éviter RuntimeException en Java ?

La méthode que nous utilisons pour éviter de telles exceptions est appelée gestion des exceptions. C'est l'une des choses les plus fondamentales qu'un développeur doit garder à l'esprit lors du codage, car l'intégralité du code sera inutile si une exception se produit et s'il ne peut pas la gérer.

Nous utilisons certaines clauses appelées throw et throw pour gérer les exceptions vérifiées en Java. Les exceptions d'exécution se produisent généralement en raison d'une entrée erronée et provoquent des exceptions telles que ArrayIndexOutOfBoundsException, IllegalArgumentException, NumberFormatException ou NullPointerException. En incluant ces erreurs dans le code, la manipulation n'apporte aucun changement, mais elle peut être utilisée à des fins de documentation comme une bonne pratique.

Nous pouvons définir une exception d'exécution personnalisée comme ci-dessous :

public class AuthenticateUser extends RuntimeException {
public AuthenticateUser (String msg) {
super (msg);
}
}
Copier après la connexion

Exemples

Vous trouverez ci-dessous des exemples de 4 principaux types d'exceptions d'exécution :

Exemple n°1 – ArrayIndexOutOfBoundsException

Cela se produit lorsque nous demandons une valeur d'index d'un tableau qui n'est pas valide ou n'est pas disponible.

Code:

public class Main
{
public static void main (String[] args)
{
// Random array of numbers
intip[] = {16, 17, 18, 19, 20};
for (inti=0; i<=ip.length; i++)
System.out.println (ip[i]);
}
}
Copier après la connexion

Output:

Exception d'exécution Java

As seen in this example, in the input array has its index value from 0 to 4. But in this for loop, the length of the array retrieved will be 5, and when that is tried to access in the array, it will throw the ArrayIndexOutOfBoundsException during RunTime of the code.

Example #2 – IllegalArgumentException

The cause of this exception is when the argument format provided is invalid.

Code:

public class Main {
inti;
public void getMark (int score) {
if (score < 0 || score > 100)
throw new IllegalArgumentException (Integer.toString (score));
else
i = score;
}
public static void main (String[] args) {
Main t = new Main ();
t.getMark (30);
System.out.println (t.i);
Main t1 = new Main ();
t1.getMark (120);
System.out.println (t1.i);
}
}
Copier après la connexion

Output:

Exception d'exécution Java

Here we know that the maximum value of a percentage value is 100. So when we pass the value as 101, we get the Illegal argument exception during run time.

Example #3 – NumberFormatException

This exception is usually thrown when a string is to be converted to a numeric value like either float or integer value, but the form of the string given as input is either illegal or inappropriate.

Code:

public class Main {
// giving input string as null
public static void main (String[] args) {
inti = Integer.parseInt (null);
}
}
Copier après la connexion

Output:

Exception d'exécution Java

In this example, we are giving the input string to be parsed into an integer as null. Hence the number format exception is thrown.

Example #4 – NullPointerException

This exception occurs when a reference object that the variable is referring to is null.

Code:

public class Main {
public static void main (String[] args) {
Object reference = null;
reference.toString ();
}
}
Copier après la connexion

Output:

Exception d'exécution Java

In this example, we are creating an object called reference having a null value. The same object is being called for an operation, and hence this error is thrown.

Conclusion: Runtime exceptions are thrown at runtime and hence difficult to be detected during compile time. They are difficult to handle, and the throws clause can only be used to define them but not catch them.

Recommended Article

This is a guide to Java RuntimeException. Here we discuss the Introduction and how to Avoid RuntimeException in Java, and it’s Working along with its examples. You can also go through our other suggested articles to learn more –

  1. Introduction to Heap Sort in Java
  2. Overriding in Java (Examples)
  3. Iterators in C# With Advantages and Disadvantages
  4. Top 10 Java Collection Interview Questions

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal