Bases du try-catch
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 40 sur 59.
Les blocs try-catch en Java sont utilisés pour gérer les exceptions (erreurs) qui pourraient survenir pendant l'exécution du programme. Le code qui pourrait lever une exception va dans le bloc try, et le code de gestion d'erreur va dans le bloc catch.
Voici la structure de base d'un bloc try-catch :
try {
// Code qui pourrait lever une exception
} catch (ExceptionType e) {
// Code pour gérer l'exception
}Voyons cela en action avec Integer.parseInt(), qui convertit une String en un entier :
String text = "abc";
try {
int number = Integer.parseInt(text);
System.out.println(number);
} catch (NumberFormatException e) {
System.out.println("Error: Not a valid number");
}Après l'exécution du code ci-dessus, la sortie est :
Error: Not a valid number
Défi
FacileCréez une méthode nommée divideNumbers qui prend trois arguments :
- Une String (
num1) représentant le premier nombre - Une String (
num2) représentant le deuxième nombre - Un entier (
index) représentant un indice de tableau
La méthode doit :
- Créer un tableau de taille 2
- Stocker la valeur entière parsée de num1 divisée par la valeur entière parsée de num2 à l'indice donné
- Retourner la valeur à l'indice donné
- Gérer toutes les exceptions possibles avec des messages d'erreur appropriés
Les messages de retour devraient être :
- Pour
NumberFormatException: "Error: Invalid number format" - Pour
ArithmeticException: "Error: Division by zero" - Pour
ArrayIndexOutOfBoundsException: "Error: Invalid array index" - Pour une opération réussie : retourner le résultat sous forme de chaîne
Aide-mémoire
Les blocs try-catch gèrent les exceptions (erreurs) qui pourraient survenir pendant l'exécution du programme. Le code qui pourrait lever une exception va dans le bloc try, et le code de gestion d'erreurs va dans le bloc catch.
Structure de base :
try {
// Code that might throw an exception
} catch (ExceptionType e) {
// Code to handle the exception
}Exemple avec Integer.parseInt() :
String text = "abc";
try {
int number = Integer.parseInt(text);
System.out.println(number);
} catch (NumberFormatException e) {
System.out.println("Error: Not a valid number");
}Types d'exceptions courants :
NumberFormatException- Format de nombre invalideArithmeticException- Division par zéroArrayIndexOutOfBoundsException- Index de tableau invalide
Essayez vous-même
import java.util.Scanner;
public class Main {
public static String divideNumbers(String num1, String num2, int index) {
// Écrivez votre code ici
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String num1 = scanner.nextLine();
String num2 = scanner.nextLine();
int index = Integer.parseInt(scanner.nextLine());
System.out.println(divideNumbers(num1, num2, index));
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots