Cet article décrit la définition et l'utilisation de la pile de trace d'exception Java. Partagez-le pour votre référence, comme suit:
1. Introduction à la pile de suivi des exceptions
La méthode PrintstackTrace de l'objet d'exception est utilisée pour imprimer les informations de pile de trace de l'exception. Selon le résultat de la sortie de la méthode PrintstackTrace, nous pouvons trouver la source de l'exception et suivre le processus de déclenchement de l'exception tout le long.
2. Application de la pile de suivi des exceptions dans la méthode principale
1 Code Exemple
class SelfException étend RuntimeException {selfException () {} selfException (String msg) {super (msg); }} classe publique printStackTraceSTest {public static void main (String [] args) {FirstMethod (); } public static void firstMethod () {SecondMethod (); } public static void SecondMethod () {ThirdMethod (); } public static void tiersMethod () {lance une nouvelle auto-exception ("Informations d'exception personnalisées"); }}2 Résultats en cours d'exécution
Exception dans le thread "Main" Selfexception: Informations sur les exceptions personnalisées
sur printstacktracesty.thirdMethod (printstacktracest.java:26)
sur printstacktracest.secondMethod (printstacktracest.java:22)
sur printStackTraceSt.FirstMethod (printstacktracest.java:18)
sur printstacktracest.main (printstacktracest.java:14)
3 Analyse des résultats
Tant que l'exception n'est pas complètement capturée, l'exception se propage progressivement vers l'extérieur à partir de la méthode où l'exception se produit, passe d'abord à l'appelant de la méthode, et l'appelant de la méthode le crée à nouveau ... jusqu'à ce qu'il passe enfin à la méthode principale. Si la méthode principale ne gère toujours pas l'exception, le JVM interdit le programme et imprimera les informations de la pile de trace de l'exception.
3. Application de la pile de suivi des exceptions dans Multithread
1 Code Exemple
classe publique ThreadExceptionTest implémente Runnable {public void run () {FirstMethod (); } public void FirstMethod () {SecondMethod (); } public void secondMethod () {int a = 5; int b = 0; int c = a / b; } public static void main (string [] args) {new thread (new ThreadExceptionTest ()). start (); }}2 Résultats en cours d'exécution
Exception dans Thread "Thread-0" java.lang.arithmeticexception: / par zéro
sur threadExceptionTest.secondMethod (threadExceptionTest.java:16)
sur threadExceptionTest.FirstMethod (threadExceptionTest.java:10)
sur threadExceptionTest.run (threadExceptionTest.java:6)
sur java.lang.thread.run (thread.java:619)
3 Analyse des résultats
Le programme a une exception ArithMeticexception dans la méthode d'exécution du thread. La source de cette exception est la méthode SecondMethod de ThreadException, située à la ligne 16 du fichier. Cette exception se terminera lors de la propagation de la méthode d'exécution de la classe de threads.
Pour plus de contenu lié à Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Introduction et tutoriel avancé sur la programmation Java Oriented Oriented", "Tutorial sur la structure de données Java et l'algorithme", "Résumé des compétences de l'opération Java Dom Dom", "Résumé des compétences de l'opération Java et de l'opération de répertoire" et "Résumé de Java Cache Skills"
J'espère que cet article sera utile à la programmation Java de tous.