Qu'est-ce que l'utilisation de printStackTrace() la méthode en Java?
Je suis passe par une prise de programme. En elle, printStackTrace
est appelée sur le IOException
objet dans le bloc catch.
Ce n' printStackTrace()
faire réellement?
catch(IOException ioe)
{
ioe.printStackTrace();
}
Je ne suis pas au courant de son but. À quoi sert-il?
- L'une des fonctionnalités les plus puissantes dans le moderne à l'IDE est la capacité à rechercher de la documentation (appelé javadoc) pour une méthode Java. Dans Eclipse, il est Shift-F2 lorsque le curseur est placé sur le printStackTrace nom de la méthode.
- On dirait que vous êtes nouveau à Java. Voici quelque chose à lire: today.java.net/article/2006/04/04/...
- Vous pouvez aussi lire le code de la printStackTrace() pour voir exactement ce qu'il fait et comment il le fait.
- Ce cool! je ne sais pas avant. Mais je suppose que ce sera mieux si je peux faire les polices affichées plus, juste comme la vraie web browser.@ThorbjørnRavnAndersen
- Eclipse par défaut, utilisez un navigateur interne. Vous pouvez le configurer pour utiliser le navigateur de votre système, dont l'usage normal de votre navigateur avec son réglage normal.
- Je vois souvent ce modèle à l'intérieur de blocs catch:
e.printStackTrace(); System.exit(1);
Ici, je veux vous poser la même question que l'OP, mais dans un autre ordre d'idée: Quel est exactement le but de cette? Ne sera pas le JRE imprimer automatiquement le stacktrace et de sortie, lorsque l'exception est levée? I. e., il n'y a pas vraiment beaucoup "gestion des exceptions" qui se passe ici, non?? - Il est aussi généralement une très mauvaise idée, qu'il supprime l'exception - c'est malheureusement ce que Eclipse et d'autres IDEs souvent par auto-suggestion, comme le corps pour le bloc catch, de sorte qu'il est utilisé beaucoup plus souvent que ce qu'elle devrait être.
- Et maintenant, Erreurs vous avertir à ce sujet 🙂
Vous devez vous connecter pour publier un commentaire.
C'est une méthode sur
Exception
instances qui imprime la trace de la pile de l'instance deSystem.err
.C'est un très simple, mais très utile pour le diagnostic de l'une des exceptions. Il vous dit ce qui s'est passé et où dans le code ce qui s'est passé.
Voici un exemple de la façon dont il pourrait être utilisé dans la pratique:
catch
blocs 🙂throw new RuntimeException(e)
J'ai été un peu curieux au sujet de ce trop, donc j'ai juste mis en place un petit exemple de code où vous pouvez voir de quoi il est fait:
Appel
println(e)
:Appel
e.printStackTrace()
:System.err.println(e);
sera plus approprié.Il permet de retracer l'exception. Par exemple vous écrivez quelques méthodes dans votre programme et un de vos méthodes les causes de bug. Puis printstack vous aidera à identifier la méthode qui provoque le bug. Pile à ce genre d'aide:
D'abord votre principale méthode sera appelée, et inséré à la pile, puis la deuxième méthode sera appelée, et inséré à la pile LIFO ordre et si une erreur se produit quelque part à l'intérieur de la méthode, puis cette pile aidera à identifier cette méthode.
printStackTrace()
permet au programmeur de comprendre où le problème est survenu.printStacktrace()
est une méthode de la classeThrowable
dejava.lang
paquet. Il imprime plusieurs lignes dans la console de sortie.La première ligne se compose de plusieurs chaînes. Il contient le nom de la Throwable sous-classe & les indications sur l'emballage.
À partir de la deuxième ligne à partir, il décrit l'erreur de position/numéro de ligne commençant par
at
.La dernière ligne décrit toujours la destination affectées par l'erreur/exception. L'avant-dernière ligne, nous informe sur la ligne suivante de la pile où le contrôle est après l'obtention de transfert à partir du numéro de la ligne décrite dans la dernière ligne. Les erreurs/exceptions représente la sortie de la forme d'une pile, qui ont été introduites dans la pile par
fillInStackTrace()
méthode deThrowable
catégorie, qui se remplit dans le programme de contrôle de transfert de données dans la pile d'exécution. Les lignes commençant parat
, ne sont rien, mais les valeurs de la pile d'exécution.De cette façon, le programmeur peut comprendre d'où dans le code, le problème réel est.
Avec le
printStackTrace()
méthode, c'est une bonne idée d'utilisere.getmessage()
.printStackTrace()
imprime les endroits où l'exception s'est produite dans le code source, permettant ainsi à l'auteur qui a écrit le programme pour voir ce qui n'allait pas. Mais, car il présente des problèmes dans le code source, l'utilisateur(s) qui peut ou peut ne pas avoir n'importe quel codage de l'expérience peut ne pas être en mesure de comprendre ce qui n'allait pas, donc si le programme permet à l'utilisateur d'envoyer des messages d'erreur pour les auteurs, les utilisateurs peuvent ne pas être en mesure de donner de bonnes données sur ce qui s'est passé.Vous devriez envisager la
Logger.getLogger()
méthode, il offre une meilleure gestion des exceptions (enregistrement) des installations, et d'ailleursprintStackTrace()
sans arguments est considéré comme obsolète et doit être utilisé UNIQUEMENT à des fins de débogage, pas pour d'affichage utilisateur.La
printStackTrace()
aide le programmeur de comprendre d'où le problème est survenu. LeprintStackTrace()
méthode est un membre de la classeThrowable
dans lejava.lang
paquet.printStackTrace
est une méthode de laThrowable
classe. Cette méthode affiche la message d'erreur dans la console, d'où nous obtenons l'exception dans le code source. Ces méthodes peuvent être utilisées avec bloc catch et qu'ils décrivent:Les trois méthodes qui décrivent l'exception de la console (dans lequel printStackTrace est l'un d'entre eux) sont:
printStackTrace()
toString()
getMessage()
Exemple:
printStackTrace() permet au programmeur de comprendre où le problème est survenu. Il permet de retracer l'exception.
il est printStackTrace() la méthode de la classe Throwable héritée par chaque classe d'exception. Cette méthode imprime le même message d'e objet et aussi le numéro de la ligne où l'erreur s'est produite.
Voici un autre exemple de l'impression de la pile de l'Exception en Java.
java.lang.Throwable: C'est une nouvelle Exception en Java...
au nom de la Classe.methodName(nom de fichier:5)
Qu'est-ce que l'utilisation de l'e.printStackTrace() la méthode en Java?
Bien, le but de l'utilisation de cette méthode
e.printStackTrace();
est de voir exactement ce que le mal est.Par exemple, nous voulons gérer une exception. Jetons un coup d'oeil à l'Exemple suivant.
J'ai utilisé la méthode
e.printStackTrace();
, afin de montrer exactement ce qui est mal.Dans la sortie, nous pouvons voir le résultat suivant.