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 :

exception java class terminal


Sujet :

avec Java

Vue hybride

ginos exception java class terminal 10/05/2008, 13h21
djo.mos bonjour, Non, c'est un... 10/05/2008, 13h32
djo.mos Je veux dire que ce n'est pas... 12/05/2008, 19h20
ginos suite exception class terminal 12/05/2008, 20h07
johnny3 c'est normal, il faut... 12/05/2008, 20h55
ginos suite exception class terminal 12/05/2008, 21h00
guigui5931 Apparemment la classe... 10/05/2008, 13h34
ginos suite exception class terminal 12/05/2008, 17h52
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 22
    Par défaut exception java class terminal
    Bonjour
    Y-a t-il une exception prédéfini en java pour le cas ou l'utilisateur saisit autre chose qu'un boolean..
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    boolean ok;
    boolean rep;
    do{
    try {
    Terminal.ecrireStringln("true ou false");
    rep=Terminal.lireBoolean();
    ok=true;
    }catch(????????) {
    Terminal.ecrireStringln(" ce n'est pas un boolean");
    }while(!ok);
    Merci

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    bonjour,
    Non, c'est un tout petit peu plus compliqué que ça en fait
    Ca dépend complètement de celui qui a implémenté la classe Terminal que tu utilises (ainsi que de nombreux autres à ce que je vois ) ...

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par djo.mos Voir le message
    Ca dépend complètement de celui qui a implémenté la classe Terminal que tu utilises (ainsi que de nombreux autres à ce que je vois ) ...
    Je veux dire que ce n'est pas sistandard que ça: Riuen n'empêche quelqu'un d'attraper l'exception lancé par défaut et de lancer un autre type.
    => suffit de tester, et de voir quelle excpetion la classe que tu utilises lance

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 22
    Par défaut suite exception class terminal
    Voici un petit exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class exo {  
        public static void main(String [] args ) {
     
         boolean  rep ;
         Terminal.ecrireStringln("true ou false");
         rep=Terminal.lireBoolean(); 
        Terminal.ecrireBooleanln(rep);
     
     
        } 
    }

    init:
    deps-jar:
    compile-single:
    run-single:
    true ou false
    12345
    false
    BUILD SUCCESSFUL (total time: 5 seconds)


    c'est tres curieux je déclare un boolean et lui affecte un int ,et a la compile aucune levé d'exception....

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut
    Citation Envoyé par ginos Voir le message
    Voici un petit exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class exo {  
        public static void main(String [] args ) {
     
         boolean  rep ;
         Terminal.ecrireStringln("true ou false");
         rep=Terminal.lireBoolean(); 
        Terminal.ecrireBooleanln(rep);
     
     
        } 
    }

    init:
    deps-jar:
    compile-single:
    run-single:
    true ou false
    12345
    false
    BUILD SUCCESSFUL (total time: 5 seconds)


    c'est tres curieux je déclare un boolean et lui affecte un int ,et a la compile aucune levé d'exception....
    c'est normal, il faut afficher la class Terminal du CNAM pour comprendre si elle lève une exception:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    import java.io.*;
    public class Terminal{    
        static BufferedReader in =
    	new BufferedReader(new InputStreamReader(System.in));
        public static String lireString() // Lire un String
    	{
    	    String tmp="";
    	    char C='\0';
    	    try {
    		tmp = in.readLine();
    	    }
    	    catch (IOException e)
    	    {
    		exceptionHandler(e);
    	    }
    	    return tmp;
    	} // fin de lireString()
        public static int lireInt()  // Lire un entier
    	{
    	    int x=0;
    	    try {
    		x=Integer.parseInt(lireString());
    	    }
    	    catch (NumberFormatException e) {
    		exceptionHandler(e);
    	    }	
    	    return x ;
    	}
        public static boolean lireBoolean()  // Lire un boolean
    	{
    	    boolean b = true;
    	    try {
    		b = Boolean.valueOf(lireString()).booleanValue();
    	    }
    	    catch (NumberFormatException e) {
    		exceptionHandler(e);
    	    }	
    	    return b;
    	}
        public  static double lireDouble()  // Lire un double
    	{
    	    double x=0.0;
    	    try {
    		x=Double.valueOf(lireString()).doubleValue();
    	    }
    	    catch (NumberFormatException e) {
    		exceptionHandler(e);
    	    }	
    	    return x ;
    	}
        public  static char lireChar()  // Lire un caractere
    	{
    	    String tmp=lireString();
    	    if (tmp.length()==0)
    		return '\n';
    	    else 
    	    {
    		return tmp.charAt(0);
    	    }
    	}
        public static void ecrireString(String s){ // Afficher un String
    	try{
    	    System.out.print(s);
    	} catch (Exception ex){
    	    exceptionHandler(ex);
    	}
        }
        public static void ecrireStringln(String s) // Afficher un String
    	{
    	    ecrireString(s);
    	    sautDeLigne();
    	} // fin de ecrireStringln()
        public static void ecrireInt(int i)  // Afficher un entier
    	{
    	    ecrireString(""+i);
    	}
        public static void ecrireIntln(int i)  // Afficher un entier
    	{
    	    ecrireString(""+i);
    	    sautDeLigne();
    	}
        public static void ecrireBoolean(boolean b){
    	ecrireString(""+b);
        }
        public static void ecrireBooleanln(boolean b){
    	ecrireString(""+b);
    	sautDeLigne();
        }
        public  static void ecrireDouble(double d)  // Afficher un double
    	{
    	    ecrireString(""+d);
    	}
        public  static void ecrireDoubleln(double d)  // Afficher un double
    	{
    	    ecrireDouble(d);
    	    sautDeLigne();
    	}
        public  static void ecrireChar(char c)  // Afficher un caractere
    	{
    	    ecrireString(""+c);
    	}  
        public  static void ecrireCharln(char c)  // Afficher un caractere
    	{
    	    ecrireChar(c);
    	    sautDeLigne();
    	}
        public static void sautDeLigne(){
    	try{
    	    System.out.println();
    	}catch(Exception ex){
    	    exceptionHandler(ex);
    	}
        }
        protected static void exceptionHandler(Exception ex){
    	TerminalException err = new TerminalException(ex);
    	throw err;
        }
        public static void ecrireException(Throwable ex){
    	ecrireString(ex.toString());
    	ex.printStackTrace(System.err);
        }
    }  
    class TerminalException extends RuntimeException{
        Exception ex;
        TerminalException(Exception e){
    	ex = e;
        }
    }

    C'est cette partie là qui va nous intéresser:

    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
     
        protected static void exceptionHandler(Exception ex){
    	TerminalException err = new TerminalException(ex);
    	throw err;
        }
        public static void ecrireException(Throwable ex){
    	ecrireString(ex.toString());
    	ex.printStackTrace(System.err);
        }
    }  
    class TerminalException extends RuntimeException{
        Exception ex;
        TerminalException(Exception e){
    	ex = e;
        }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 22
    Par défaut suite exception class terminal
    Donc si un utilisateur autre autre q'un boolean si je comprend bien il faut géré une erreur qui etend la class Runtime????
    Merci

  7. #7
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Apparemment la classe Terminal ne fait pas parti de l'API standard, il faut que tu aille voir la documentation de cette classe.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 22
    Par défaut suite exception class terminal
    Bonjour
    DJO.MOS a dit:
    Non, c'est un tout petit peu plus compliqué que ça en fait..
    .
    LOL
    Peut tu me dire quand meme ,comment géré l'exception si l'utilisateur n'a pas saisit un boolean..
    Merci

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/08/2009, 15h15
  2. Programme Java avec la classe Terminal
    Par ginos dans le forum Langage
    Réponses: 6
    Dernier message: 05/05/2008, 16h07
  3. exception java-postgresql
    Par peppena dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/05/2005, 15h04
  4. [Exception JAVA] DataTruncation
    Par phoebe dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/02/2005, 15h18

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