105 votes

Quelle est l'utilisation de la méthode printStackTrace () en Java?

Je vais à travers un programme de socket. PrintStackTrace est appelé par l’objet IOException dans le bloc catch. Que fait réellement printStackTrace ()?

     catch(IOException ioe)
    {
        ioe.printStackTrace();
    }
 

Je ne suis pas au courant de son but. A quoi cela sert?

104voto

Joachim Sauer Points 133411

Il imprime la trace de la pile des Exception à System.err .

C'est un outil très simple, mais très utile pour diagnostiquer une exception. Il vous dit ce qui s'est passé et où dans le code cela s'est passé.

45voto

akevit Points 107

J'étais un peu curieux à propos de cela aussi, alors je viens de mettre sur pied un petit exemple de code dans lequel vous pouvez voir ce qu'il fait:

     try {
        throw new NullPointerException();
    }
    catch (NullPointerException e) {
        System.out.println(e);
    }

    try {
        throw new IOException();
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    System.exit(0);
 

println(e):

java.lang.NullPointerException

e.printStackTrace:

 java.io.IOException
      at package.Test.main(Test.java:74)
 

14voto

yogesh pathak Points 71

Cela aide à tracer l'exception. Par exemple, vous écrivez des méthodes dans votre programme et une de vos méthodes provoque un bogue. Ensuite, printstack vous aidera à identifier quelle méthode est à l'origine du bogue. Stack aidera comme ceci:

D'abord, votre méthode principale sera appelée et insérée dans la pile, puis la deuxième méthode sera appelée et insérée dans la pile dans l'ordre LIFO et si une erreur se produit quelque part dans une méthode, cette pile aidera à identifier cette méthode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X