Maison  >  Article  >  Java  >  Blocs d'essai imbriqués

Blocs d'essai imbriqués

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 14:09:31784parcourir

Blocos try aninhados

Blocs d'essai imbriqués :

Un bloc try peut être placé à l'intérieur d'un autre bloc try.
Si une exception n'est pas interceptée dans le bloc try interne, elle sera propagée au bloc try externe.

Propagation des exceptions :
Lorsqu'une exception se produit dans le bloc interne et n'est pas gérée par celui-ci, elle peut être interceptée par le bloc externe, permettant au programme de continuer ou de se terminer de manière contrôlée.

Exemple de code avec essai imbriqué :
L'exemple suivant montre un bloc try interne qui gère les erreurs de division par zéro, tandis que le bloc try externe gère les exceptions d'accès en dehors des limites du tableau.

Exemple de code :

// Usa um bloco try aninhado.
class NestTrys {
    public static void main(String args[]) {
        // O array numer é mais longo que denom.
        int numer[] = { 4, 8, 16, 32, 64, 128, 256, 512 };
        int denom[] = { 2, 0, 4, 4, 0, 8 };

        try { // Bloco try externo
            for (int i = 0; i < numer.length; i++) {
                try { // Bloco try aninhado
                    // Tenta realizar a divisão
                    System.out.println(numer[i] + " / " + denom[i] + " is " + numer[i] / denom[i]);
                } catch (ArithmeticException exc) {
                    // Captura exceção de divisão por zero
                    System.out.println("Can't divide by Zero!");
                }
            }
        } catch (ArrayIndexOutOfBoundsException exc) {
            // Captura exceção de acesso fora dos limites do array
            System.out.println("No matching element found.");
            System.out.println("Fatal error - program terminated.");
        }
    }
}

Résultat du programme :
Lorsque la division par zéro se produit, l'exception est interceptée par le bloc try interne et le programme continue.
Lorsqu'une erreur d'index se produit en dehors des limites du tableau, le bloc try externe intercepte l'exception et termine le programme.~

Exemple de résultat :

4 / 2 is 2
Can't divide by Zero!
16 / 4 is 4
32 / 4 is 8
Can't divide by Zero!
128 / 8 is 16
No matching element found.
Fatal error – program terminated.

Utilisation pratique :

  • Les blocs try imbriqués permettent de gérer séparément différents types d'erreurs :
  • Des erreurs moindres (telles que la division par zéro) peuvent être gérées localement, permettant au programme de continuer.
  • Des erreurs plus graves (telles qu'un accès en dehors des limites du tableau) peuvent être détectées par le bloc externe, conduisant à une action plus drastique, telle que l'arrêt du programme.

Conclusion :

  • L'utilisation de blocs try imbriqués est utile lorsque différentes catégories d'erreurs doivent être traitées de différentes manières.
  • Cela permet une plus grande flexibilité dans le contrôle du flux d'exécution du programme, vous permettant de gérer des exceptions légères en interne et de laisser des exceptions sévères pour le bloc externe.

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