81 – EXCEPTIONS EN JAVA – TRY / H1>

Java a un mécanisme de capture (capture) certains types d’erreurs qui ne peuvent être détectés que lors de l’exécution du programme.

Les exemples les plus courants que nous puissions nommer des exceptions:

  • Essayez de convertir en une chaîne qui ne fait pas contiennent des valeurs numériques.
  • Essayez de diviser par zéro.
  • Ouvrez un fichier texte inexistant ou qui est bloqué par une autre application.
  • Connectez-vous à une base de données serveur qui n’est pas actif.
  • Access vector Snubers et matrices hors de portée.

La capture d’exception nous permet de créer des programmes beaucoup plus robustes et tolérants aux défaillances qui se produisent dans des situations rares, mais le cas échéant, nous avons un algorithme alternatif pour réagir à ladite situation en empêchant le programme de mettre fin à son exécution.

voit Rangez un exemple sans capture d’exceptions et ensuite la syntaxe mettant en œuvre sa capture.

Problème:

Effectuez la charge d’un nombre entier par clavier et imprimez son carré.

Programme:

import java.util.Scanner;public class CuadradoNumero { public static void main(String ar) { Scanner teclado = new Scanner(System.in); int num; System.out.print("Ingrese un valor entero:"); num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); }}

Si nous exécutons le programme et que l’opérateur entrez une chaîne au lieu d’une exception entier une exception est générée et le programme s’arrête immédiatement:

EXCEPTIONS JAVA sans capture

Le programme ne fonctionne pas plus d’instructions après la ligne 8 de la méthode principale. Le nom de l’exception généré est signalé: Java.Util.InputMismMatchException, c’est-à-dire le nom de la classe d’exception et le package qui contient qu’il est informé: Java.util

La première chose que nous pouvons dire est que cela Un type d’exception n’est pas obligatoire de les capturer, mais comme nous le voyons si notre programme du programme est souvent erroné et que les chaînes de chargement au lieu d’entiers, le programme s’arrête et nécessite qu’elle réexécute.

Nous pouvons Mettre en œuvre un programme plus robuste si nous capturons l’exception InputMismatatatchException et informons l’utilisateur qui doit entrer dans un entier obligatoirement.

Voir maintenant la syntaxe du même programme mais capturant l’exception:

import java.util.InputMismatchException;import java.util.Scanner;public class CuadradoNumero { public static void main(String ar) { Scanner teclado = new Scanner(System.in); int num; try { System.out.print("Ingrese un valor entero:"); num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); } catch (InputMismatchException ex) { System.out.println("Debe ingresar obligatoriamente un número entero."); } }}

Pour piéger les exceptions, nous devons joindre dans un bloc d’essayer des instructions générant des exceptions, dans notre cas la méthode « NEXTINT » de la classe Scanner:

 try { System.out.print("Ingrese un valor entero:"); num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); }

Chaque bloc d’essai nécessite qu’elle soit suivie d’un bloc de capture:

 catch (InputMismatchException ex) { System.out.println("Debe ingresar obligatoriamente un número entero."); }

Une fois que le mot-clé est indiqué entre parenthèses, le nom de n’importe quel paramètre (dans notre cas, nous l’appelons « ex ‘) et le nom de l’exception à capturer .

Le bloc de capture n’est généralement pas exécuté, sauf dans les cas exceptionnels que dans le bloc d’essai informe que l’exception a été tirée.

maintenant si nous exécutons le programme et l’opérateur entrez une chaîne. Au lieu d’un entier Notre programme ne s’arrête pas mais est informé par le type d’erreur que l’utilisateur commis:

Java Exceptions Capture

Quand une exception est déclenchée, les instructions qui sont après la méthode qui le tirent ne sont pas exécutées:

 num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado);

Les deux instructions après avoir appelé la méthode « NEXTINT ‘ méthode soulève l’exception.

Nous pouvons maintenant modifier notre programme encore plus de sorte qu’il ne se termine pas tant qu’elle ne charge qu’une valeur totale:

import java.util.InputMismatchException;import java.util.Scanner;public class CuadradoNumero { public static void main(String ar) { Scanner teclado = new Scanner(System.in); int num; boolean continua; do { try { continua = false; System.out.print("Ingrese un valor entero:"); num = teclado.nextInt(); int cuadrado = num * num; System.out.print("El cuadrado de " + num + " es " + cuadrado); } catch (InputMismatchException ex) { System.out.println("Debe ingresar obligatoriamente un número entero."); teclado.next(); continua = true; } } while (continua); }}

oui e JECUT Ce programme Variante, l’ordre de la charge entière ne se terminera pas tant que vous n’entrez pas:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *