63 votes

Utilisation de l'e.printStackTrace() en Java

C'est probablement une question de newbie, mais j'espère que vous pourrez m'aider. :) J'ai quelque chose comme ceci:

try
{ 
//try to do something there
}
catch (IOException e)
{
//handle the exception 
e.printStackTrace();
}

Je suis à l'aide de NetBeans IDE, et pour une raison quelconque, le printStackTrace est soulignée par une ligne sinueuse. Lorsque j'appuie sur Alt+Entrée, il dit à Lancer.printStackTrace() devrait être supprimé. Qu'est-ce que cela signifie? Quelqu'un pourrait-il donner plus de perspicacité de ce que cela peut signifier? Ou puis-je ignorer cela?

Merci!

44voto

Pablo Fernandez Points 32003

Essayez:

e.printStackTrace(System.out);

21voto

Mgamerz Points 913

C'est juste une recommandation. Dans eclipse, il est très bien - je crois que c'est juste l'IDE de vous dire qu'il y a des méthodes plus conventionnelles de le faire, comme certains de l'autre des réponses. Je trouve que c'est utile pour le débogage, et que vous devez informer les utilisateurs lorsqu'une erreur fatale va se produire, d'utiliser un mode de débogage (comme un commutateur de console -d) la récupération de ces journaux.

14voto

Vache Points 13219

C'est probablement parce qu' printStackTrace() n'a pas vraiment de traiter l'erreur d'autant qu'il vient de décharges de la pile dans la console. Il agit comme un espace réservé jusqu'à ce que vous le remplacez par de la bonne gestion d'erreur (si elle est nécessaire à tous) et de remplacer la sortie avec un enregistreur de quelque sorte.

10voto

Arthur Neves Points 5753

e.printStackTrace();

N'est pas une bonne pratique car elle s'imprime dans l'défaut ErrorStream, qui la plupart du temps est la console!

NetBeans doit être l'avertissement de vous en parler. La bonne pratique, c'est la journalisation du message. Suivez la même référence:

http://onjava.com/pub/a/onjava/2003/11/19/exceptions.html

MODIFIER Voir le premier commentaire soufflet pour plus d'infos.

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