Menu
Coddy logo textTech

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 des erreurs 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

challenge icon

Défi

Facile

Créez une méthode nommée divideNumbers qui prend trois arguments :

  1. Une chaîne de caractères (num1) représentant le premier nombre
  2. Une chaîne de caractères (num2) représentant le deuxième nombre
  3. Un entier (index) représentant un indice de tableau

La méthode doit :

  1. Créer un tableau de taille 2
  2. Stocker à l’indice donné la valeur entière analysée de num1 divisée par la valeur entière analysée de num2
  3. Renvoyer la valeur à l’indice donné
  4. Gérer toutes les exceptions possibles en renvoyant à la place le message d’erreur correspondant

Les messages renvoyés doivent être les suivants :

  • Pour NumberFormatException : "Error: Invalid number format"
  • Pour ArithmeticException : "Error: Division by zero"
  • Pour ArrayIndexOutOfBoundsException : "Error: Invalid array index"
  • En cas de réussite : renvoyer le résultat sous forme de chaîne

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));
    }
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur Java en ligne