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

Langage Java Discussion :

détecter une erreur et arreter le programme en cour


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 36
    Points
    36
    Par défaut détecter une erreur et arreter le programme en cour
    Bonjour,
    J'ai un programme qui me sort une série d'erreur infinie de temps en temps, le problème c'est qu'il y a tants de message qui s'enchainent que ça remplis tout de suite la console, du coup je ne parviens pas à voir ou en était le programme quand il a bugger(quel fichier il allait ouvrir).
    existe -t-il un moyen simple avec pour arreter le programme quand il y a la moindre erreur (même si cette erreur ne le fait pas planter)?
    j'utilise ECLIPSE.

    merci d'avance si quelqu'un a une idée..

    Message d'erreur :

    ...
    java.io.IOException: Bad file descriptor
    at java.io.RandomAccessFile.seek(Native Method)
    at ucar.netcdf.RandomAccessFile.seek(RandomAccessFile.java:287)
    at ucar.netcdf.NetcdfFile$V1FloatIo.readArray(NetcdfFile.java:1319)
    at ucar.netcdf.NetcdfFile$V1Io.copyout(NetcdfFile.java:773)
    at ucar.netcdf.Variable.copyout(Variable.java:260)
    at IBMDataFile.BibDataPeru.setAllFields2AtTime(BibDataPeru.java:146)
    at IBMDataFile.BibDataPeru.setAllFields1And2AtTime(BibDataPeru.java:181)
    at IBMDataFile.BibDataPeru.getFields(BibDataPeru.java:293)
    at evolution.Poissons.deplace(Poissons.java:173)
    at evolution.Poissons.stepSerial(Poissons.java:297)
    at evolution.Population.stepSerial(Population.java:49)
    at evolution.Simulation.initSerial(Simulation.java:219)
    at evolution.IBM.main(IBM.java:25)
    java.io.IOException: Bad file descriptor
    at java.io.RandomAccessFile.seek(Native Method)
    at ucar.netcdf.RandomAccessFile.seek(RandomAccessFile.java:287)
    ....

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    C'est du Java.
    Tu fais un Try{...}catch(Exception e){quitter le programme ou faire quelque chose}

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    il faut quand même remonter l'exception qui c'est produite, l utilisateur doit savoir qu'une exception à été levée

    tu travailles en client riche ou desktop ? (pas la même manière de remonter les exceptions)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Je pense que ton problême est la taille du buffer d'affichage de la console sous Eclipse... Pour le changer, je pense qu'un clic droit dans la fenêtre de console puis la sélection des Préférences et une désactivation du "limit console output" fera l'affaire. J'espère que ça te permettra de voir l'intégralité des stacktraces.

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    autre bonne idée : tu ouvres un fileoutput et tu redirige la sortie d'erreur dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DebugOut = new FileOutputStream("debug.log");
    System.setErr(new PrintStream(DebugOut, true));

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 101
    Points : 123
    Points
    123
    Par défaut
    et si tu lances une RuntimeException ?

  7. #7
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    si ça vient d'un exception "orpheline"
    Thread.setDefaultUncaughtExceptionHandler
    ecrit le code qui récupère l'objet Throwable et prend le temps d'en faire ce que tu veux ... par exemple passe le au système de log et configure ton log...

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/04/2009, 15h41
  2. [XI][VB] Détecter une erreur de rafraichissement
    Par WhoamWhoam dans le forum SDK
    Réponses: 4
    Dernier message: 14/10/2008, 12h54
  3. une Erreur à la fermeture du programme
    Par Dr_shaman dans le forum VB.NET
    Réponses: 8
    Dernier message: 03/07/2008, 16h41
  4. [NetBeans] Arreter un programme en cours d'execution
    Par vallica dans le forum NetBeans
    Réponses: 3
    Dernier message: 08/12/2005, 12h24
  5. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40

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