Exercice : Déclenchement et Traitement d'une Exception

Objectif :

Réaliser une classe EntNat permettant de manipuler des entiers naturels (positifs ou nuls). Créez une exception personnalisée ErrConst pour gérer les cas où la valeur fournie au constructeur est négative.

Instructions :

  1. Création de la classe ErrConst :
    • Définissez une classe ErrConst qui hérite de Exception. Cette classe peut être très simple, sans champs ni méthodes supplémentaires.
  2. Création de la classe EntNat :
    • Créez une classe EntNat avec un constructeur prenant un entier comme argument. Le constructeur doit lancer une exception ErrConst si l'entier est négatif.
    • Ajoutez une méthode getN() qui retourne la valeur encapsulée dans l'objet EntNat.
  3. Écriture du programme d'utilisation :
    • Écrivez un programme qui crée un objet EntNat avec une valeur négative pour tester le déclenchement de l'exception ErrConst.
    • Assurez-vous que le programme affiche un message d'erreur approprié et termine l'exécution en appelant System.exit(-1) lorsque l'exception est capturée.

 

Correction attendue :

class ErrConst extends Exception {
    // Classe d'exception personnalisée
}

class EntNat {
    private int n;

    public EntNat(int n) throws ErrConst {
        if (n < 0) {
            throw new ErrConst();
        }
        this.n = n;
    }

    public int getN() {
        return n;
    }
}

public class TstEntNat {
    public static void main(String[] args) {
        try {
            EntNat n1 = new EntNat(20);
            System.out.println("n1 = " + n1.getN());
            EntNat n2 = new EntNat(-12);
            System.out.println("n2 = " + n2.getN());
        } catch (ErrConst e) {
            System.out.println("*** erreur construction ***");
            System.exit(-1);
        }
    }
}

Exercice 2 : 

Objectif :

Créer une classe EntNat permettant de manipuler des entiers naturels (positifs ou nuls). Utiliser une exception personnalisée ErrConst pour gérer les cas où une valeur incorrecte est fournie au constructeur.

Instructions :

  1. Création de la classe ErrConst :
    • Définissez une classe ErrConst qui hérite de Exception.
    • Ajoutez un champ privé valeur pour conserver la valeur incorrecte. Fournissez un constructeur pour initialiser ce champ et une méthode getValeur() pour y accéder.
  2. Création de la classe EntNat :
    • Créez une classe EntNat avec un constructeur prenant un entier comme argument. Ce constructeur doit lancer une exception ErrConst si l'entier est négatif.
    • Ajoutez une méthode getN() qui retourne la valeur encapsulée dans l'objet EntNat.
  3. Écriture du programme d'utilisation :
    • Écrivez un programme principal qui crée des objets EntNat avec des valeurs valides et invalides pour tester le déclenchement et le traitement de l'exception ErrConst.
    • Dans le bloc catch, utilisez la méthode getValeur() pour afficher la valeur incorrecte et mettez fin à l'exécution avec System.exit(-1).

 

Correction attendue :

class ErrConst extends Exception {
    private int valeur;

    // Constructeur avec la valeur incorrecte
    public ErrConst(int valeur) {
        super("Valeur invalide pour EntNat : " + valeur);
        this.valeur = valeur;
    }

    // Méthode d'accès pour obtenir la valeur incorrecte
    public int getValeur() {
        return valeur;
    }
}

class EntNat {
    private int n;

    // Constructeur qui vérifie la validité de la valeur
    public EntNat(int n) throws ErrConst {
        if (n < 0) {
            throw new ErrConst(n);
        }
        this.n = n;
    }

    // Méthode pour obtenir la valeur encapsulée
    public int getN() {
        return n;
    }
}

public class TstEntNat {
    public static void main(String[] args) {
        try {
            EntNat n1 = new EntNat(20);
            System.out.println("n1 = " + n1.getN());
            EntNat n2 = new EntNat(-12);
            System.out.println("n2 = " + n2.getN());
        } catch (ErrConst e) {
            System.out.println("*** tentative construction naturel avec " + e.getValeur() + " ***");
            System.exit(-1);
        }
    }
}
 

Si vous avez trouvé les exercices corrigés en Java de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam