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 :
Conclusion :
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!