Maison  >  Article  >  Java  >  Dans quels scénarios IllegalArgumentException se produit-il en Java ?

Dans quels scénarios IllegalArgumentException se produit-il en Java ?

WBOY
WBOYoriginal
2023-06-25 10:21:171017parcourir

En tant que langage de programmation important, Java implique un grand nombre de gestion d'exceptions pendant le processus d'implémentation, parmi lesquelles IllegalArgumentException est un type d'exception fréquemment utilisé. Alors, quand l’IllegalArgumentException apparaît-elle ?

IllegalArgumentException signifie que lorsqu'un paramètre illégal ou incorrect est transmis à la méthode, le programme lèvera cette exception. Plus précisément, IllegalArgumentException se produit généralement dans les scénarios suivants :

1. Incompatibilité de type de paramètre

Lorsque nous transmettons un paramètre à une méthode, si son type ne correspond pas au type de paramètre formel défini par la méthode, une IllegalArgumentException sera levée de manière anormale. Par exemple, si un paramètre de type chaîne est passé à une méthode qui nécessite un argument de type entier, cette exception sera levée.

Exemple de code :

public class Test {
    public static void printNumber(int number) {
        System.out.println(number);
    }
    
    public static void main(String[] args) {
        String str = "123";
        printNumber(str); // 抛出IllegalArgumentException异常
    }
}

2. La valeur du paramètre est illégale

Parfois, si la plage de valeurs du paramètre est donnée dans la méthode, si le paramètre transmis n'est pas dans cette plage, une IllegalArgumentException sera également levée. Par exemple, si un paramètre entier inférieur à 0 est transmis à une méthode qui n'accepte que des paramètres supérieurs ou égaux à 0, cette exception sera levée.

Exemple de code :

public class Test {
    public static void divide(int dividend) {
        if (dividend < 0) {
            throw new IllegalArgumentException("参数不合法,除数不能为负数");
        }
        System.out.println(10 / dividend);
    }
    
    public static void main(String[] args) {
        divide(-2); // 抛出IllegalArgumentException异常
    }
}

3. Exception de pointeur nul

Si une méthode ne permet pas au paramètre d'être nul, mais que vous transmettez une valeur nulle, une IllegalArgumentException sera également levée. Par exemple, si une chaîne vide est transmise à une méthode qui n'autorise pas une chaîne vide, cette exception sera levée.

Exemple de code :

public class Test {
    public static void printString(String str) {
        if (str == null || str.isEmpty()) {
            throw new IllegalArgumentException("参数不合法,必须为非空字符串");
        }
        System.out.println(str);
    }
    
    public static void main(String[] args) {
        String str = null;
        printString(str); // 抛出IllegalArgumentException异常
    }
}

Dans le scénario ci-dessus, si une IllegalArgumentException se produit, nous pouvons envisager d'utiliser des instructions try-catch pour intercepter et gérer l'exception. Dans le même temps, lors de la conception des programmes, nous devons également essayer de normaliser le transfert des paramètres afin d'éviter les exceptions causées par les paramètres.

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!

Déclaration:
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