Prenons ta stacktrace comme exemple :
1 2 3 4 5 6 7 8 9 10 11 12
| java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at hsqldbarticles.HsqlDBArticles.connectingDb(HsqlDBArticles.java:19)
at hsqldbarticles.HsqlDBArticles.main(HsqlDBArticles.java:32) |
d'abord (en vert), il y a le message d'erreur qu'il faut toujours lire attentivement.
Ici : il n'a pas pu charger la classe donc problème de classPath
du coup, tu cherches aussi l'endroit de ton programme (en rouge) où le problème s'est déclenché.
java indique tous les appels :
d'abord le main, puis connectingDb.
C'est la 1ère ligne de la liste de tes classes (ici la ligne 19) qui a provoqué le problème.
Quand tu auras d'autre plantage, ce sont surtout ces 2 lignes à regarder en priorité :
- la ligne en vert = message d'erreur
- la 1ère ligne en rouge = la classe développé par toi et qui a provoqué la plante
bien entendu, le stacktrace change à chaque fois. Il peut être très court si tu n'utilises pas de bibliothèques
ou très long
Partager