IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Annale QCM Java école d'ingénieur


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut Annale QCM Java école d'ingénieur
    Bonjour,

    Etudiant, je révise des annales pour mon exam.

    A la question suivante, je ne trouve pas la réponse car lorsque je copie dans Eclipse, il ne se passe aucune des 4 solutions proposées...

    24) Que sera le résultat si on essaie de compiler et exécuter le programme suivant?
    class YException extends Exception{}
    class ZException extends Exception{}
    public class D {
    public static void main(String[] args) throws Exception
    {
    System.out.println ("1");
    try {
    throw new ZException();
    }
    catch (YException e) { System.out.println ("2"); }
    finally { System.out.println ("3"); }
    System.out.println ("4");
    }
    }
    a) Compile error: Unhandled type ZException
    b) 1
    3
    4
    c) 1
    3
    Exception in thread main: ZException
    d) 1
    2
    3
    4
    Quelqu'un a une idée de la réponse?

    Merci d'avance!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    PArdon voila le code en plus lisible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class YException extends Exception {
    }
     
    class ZException extends Exception {
    }
     
    public class D {
    	public static void main(String[] args) throws Exception {
    		System.out.println("1");
    		try {
    			throw new ZException();
    		} catch (YException e) {
    			System.out.println("2");
    		} finally {
    			System.out.println("3");
    		}
    		System.out.println("4");
    	}
    }
    Merci de votre aide!

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 101
    Points : 134
    Points
    134
    Par défaut
    Je pense que le résultat sera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1  //Action avant le try -> Sera exécutée
    3  // La clause finally définit un bloc qui sera toujours exécuté, qu'une exception soit levée ou non. Ce bloc est facultatif. Il est aussi exécuté si dans le bloc try il y a une instruction break ou continue.
    4  //Action après le try
    Le numéro 2 ne s'affiche pas car l'exception YException n'est jamais appelée.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Merci bien!

    C'est ce que je pensais aussi mais la copie du code ds Eclipse m'a fait douté...

  5. #5
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 101
    Points : 134
    Points
    134
    Par défaut
    A noter :
    Lorsque j'essaie d'executer le code, j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    	Unreachable catch block for YException. This exception is never thrown from the try statement body
    On ne peut pas faire un catch alors qu'aucun throw n'est réalisée sur cette Exception!

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Indeed!

    Mais aucun choix ne correspond à cette erreur donc je pense qu'il y a une erreur dans l'énoncé?

  7. #7
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 101
    Points : 134
    Points
    134
    Par défaut
    Surement une erreur dans l'énoncé, oui...
    Enfin, le principal est d'avoir compris le raisonnement de base du try, catch et finally. :p

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Proxy Voir le message
    Je pense que le résultat sera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1  //Action avant le try -> Sera exécutée
    3  // La clause finally définit un bloc qui sera toujours exécuté, qu'une exception soit levée ou non. Ce bloc est facultatif. Il est aussi exécuté si dans le bloc try il y a une instruction break ou continue.
    4  //Action après le try
    Le numéro 2 ne s'affiche pas car l'exception YException n'est jamais appelée.
    Euh, non, pas d'action après le try. La ZException n'a pas été catchée et remonte à l'appelant, sans continuer. Elle le fait après avoir exécuté le finally, bien entendu.

    Autrement dit, on voit bien à quelle réponse pensait l'auteur du QCM. Sauf qu'en réalité, ça ne compile même pas, et pour une raison autre que a).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    T'es sur que la question c'est pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class ZException extends YException{}
    ?

    Vu les proposition, ça me semblerais logique (avec comme réponse 1234)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 42
    Dernier message: 29/12/2015, 12h03
  2. [ETUDES] Allemand LV2 en école d'ingénieur ?
    Par Michaël dans le forum Etudes
    Réponses: 23
    Dernier message: 15/04/2007, 08h56
  3. Différence entre école d'ingénieur
    Par ida_adnane dans le forum Etudes
    Réponses: 36
    Dernier message: 23/06/2006, 23h40
  4. spécialité image en école d'ingénieur ?
    Par kitsune dans le forum Etudes
    Réponses: 17
    Dernier message: 20/02/2006, 17h24
  5. [ETDUES] [Avis] Quelle école d'ingénieur ?
    Par gandalfar dans le forum Etudes
    Réponses: 35
    Dernier message: 10/08/2005, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo