duidelijke uitleg printStackTrace()

Status
Niet open voor verdere reacties.

Clemens Schalkw

Gebruiker
Lid geworden
5 dec 2007
Berichten
166
Wie kan mij duidelijk uitleggen wat printStackTrace doet.
Ik lees op verschillende plaatsen dat je het veel gebruikt in een catch-block van Exception-handling.

Code:
public void myMethod() {
  try (
    anObject.otherMethod();
  } catch (BadException ex) {
    System.out.println("AAaahhhh");
    ex.printStackTrace();
  }
 
http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html

Code:
printStackTrace

public void printStackTrace()

Prints this Throwable and its backtrace to the standard error stream. This method prints a stack trace for this Throwable object on the error output stream that is the value of the field System.err. The first line of output contains the result of the toString() method for this object. Remaining lines represent data previously recorded by the method fillInStackTrace(). The format of this information depends on the implementation, but the following example may be regarded as typical:

         java.lang.NullPointerException
                 at MyClass.mash(MyClass.java:9)
                 at MyClass.crunch(MyClass.java:6)
                 at MyClass.main(MyClass.java:3)
         

    This example was produced by running the program:

         
         class MyClass {
         
             public static void main(String[] argv) {
                 crunch(null);
             }
             static void crunch(int[] a) {
                 mash(a);
             }
         
             static void mash(int[] b) {
                 System.out.println(b[0]);
             }
         }


Hij geeft dus aan waar de fout zit..
In bovenstaande dus dus in de functie "Mash" Maar hij gaat ook proberen te backtracken waar het eerder fout heeft kunnen gaan... de functie Main dus.
 
Laatst bewerkt:
Mijn engels laat me nog wel eens in de steek met dit soort uitleg.
Ik had het inderdaad ook al gezocht op de site van sun, maar ik begreep alleen niet precies wat ze bedoelen.
Is het nu zo dat printStackTrace() het regelnummer teruggeeft of aangeeft in welke method er iets fout gaat???
En is die :9 (tussen haakjes) het regelnummer waar het mis gaat?

iig bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan