Accueil
 Sommaire du cours
 1  Introduction à Java
 2  Concepts de bases de Java
 3  Classes et objets en Java
 4  Généralisation spécialisation en Java
 5  Organisation des sources Java
 6  API Java
 7  Exceptions en Java
 7.1  Motivation: retours sur un bug
 7.2  Principes
 7.2.1  Mise en \oe uvre
 7.2.2  Exemple de traitement
 7.3  Réalisation
 7.4  Traitement des exceptions
 7.5  Exemple de traitement d'exceptions
 Questions
 8  Concepts objets avancés en Java
 Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


7.2.2 Exemple de traitement
 
public class ArrayControled { 
    static final int max = 42; 
3    public static void main(String[] args) { 
        int i, j = 0; 
        int[] arrayOfInt = new int[max]; 
        for(i=0;i<arrayOfInt.length;i++){ 
7            arrayOfInt[i] = i; 
        } 
        for(i=0;i<args.length;i++){ 
            try { 
11                j = Integer.parseInt(args[i]); 
                System.out.println(arrayOfInt[j]); 
            } catch (NumberFormatException nfe){ 
                System.out.println("Parameter" + args[i] + "shouldbeaninteger"); 
15            } catch ( ArrayIndexOutOfBoundsException oobe){ 
                System.out.println("Parameter" + args[i] 
                        + "shouldbe>=0and<" + max); 
            } 
19        } 
    } 
}

    précédent     suivant 


Ce code initialise un tableau de 42 entiers dans la partie entre le lignes 6 et 8 avec leur indice. Puis, à partir des arguments du main, il essaye d’afficher le contenu de l’entrée correspondante du tableau.

Dans ce code, la région gardée correspond aux lignes 10 à 13, c’est à dire le bloc d’instructions du try.

Deux cas d’erreur sont traités : l’argument n’est pas un entier et la valeur de l’entier obtenu n’est pas entre 0 et 41.

L’exécution de ce programme avec les arguments 2 43 zurg 22, donne le résultat suivant :  
verbatim

Christian Bac, Denis Conan, Télécom SudParis, CSC 4002, Octobre 2015