Sprache

Throwable.PrintStackTrace Methode

Definition

Überlädt

Name Beschreibung
PrintStackTrace(PrintStream)

Druckt diesen throwable und dessen Rückverfolgung auf den angegebenen Druckdatenstrom.

PrintStackTrace(PrintWriter)

Druckt diesen auswerfbaren Ausdruck und seinen Rückgriff auf den angegebenen Druckschreiber.

PrintStackTrace()

Druckt diesen Auslöser und seine Rückverfolgung auf den Standardfehlerdatenstrom.

PrintStackTrace(PrintStream)

Druckt diesen throwable und dessen Rückverfolgung auf den angegebenen Druckdatenstrom.

[Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintStream;)V", "GetPrintStackTrace_Ljava_io_PrintStream_Handler")]
public virtual void PrintStackTrace(Java.IO.PrintStream s);
[<Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintStream;)V", "GetPrintStackTrace_Ljava_io_PrintStream_Handler")>]
abstract member PrintStackTrace : Java.IO.PrintStream -> unit
override this.PrintStackTrace : Java.IO.PrintStream -> unit

Parameter

s
PrintStream

PrintStream für die Ausgabe zu verwenden

Attribute

Hinweise

Druckt diesen throwable und dessen Rückverfolgung auf den angegebenen Druckdatenstrom.

Java Dokumentation für java.lang.Throwable.printStackTrace(java.io.PrintStream).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

PrintStackTrace(PrintWriter)

Druckt diesen auswerfbaren Ausdruck und seinen Rückgriff auf den angegebenen Druckschreiber.

[Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintWriter;)V", "GetPrintStackTrace_Ljava_io_PrintWriter_Handler")]
public virtual void PrintStackTrace(Java.IO.PrintWriter s);
[<Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintWriter;)V", "GetPrintStackTrace_Ljava_io_PrintWriter_Handler")>]
abstract member PrintStackTrace : Java.IO.PrintWriter -> unit
override this.PrintStackTrace : Java.IO.PrintWriter -> unit

Parameter

s
PrintWriter

PrintWriter für die Ausgabe zu verwenden

Attribute

Hinweise

Druckt diesen auswerfbaren Ausdruck und seinen Rückgriff auf den angegebenen Druckschreiber.

In 1.1 hinzugefügt.

Java Dokumentation für java.lang.Throwable.printStackTrace(java.io.PrintWriter).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

PrintStackTrace()

Druckt diesen Auslöser und seine Rückverfolgung auf den Standardfehlerdatenstrom.

[Android.Runtime.Register("printStackTrace", "()V", "GetPrintStackTraceHandler")]
public virtual void PrintStackTrace();
[<Android.Runtime.Register("printStackTrace", "()V", "GetPrintStackTraceHandler")>]
abstract member PrintStackTrace : unit -> unit
override this.PrintStackTrace : unit -> unit
Attribute

Hinweise

Druckt diesen Auslöser und seine Rückverfolgung auf den Standardfehlerdatenstrom. Diese Methode druckt eine Stapelablaufverfolgung für dieses Throwable Objekt im Fehlerausgabedatenstrom, der den Wert des Felds System.errdarstellt. Die erste Ausgabezeile enthält das Ergebnis der #toString() Methode für dieses Objekt. Verbleibende Zeilen stellen Daten dar, die zuvor von der Methode #fillInStackTrace()aufgezeichnet wurden. Das Format dieser Informationen hängt von der Implementierung ab, aber das folgende Beispiel kann als typisch angesehen werden: <Blockquote>

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

</blockquote> Dieses Beispiel wurde durch Ausführen des Programms erstellt:

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

Der Backtrace für eine ausgelöste Funktion mit einer initialisierten, nicht NULL-Ursache sollte in der Regel den Backtrace für die Ursache enthalten. Das Format dieser Informationen hängt von der Implementierung ab, aber das folgende Beispiel kann als typisch angesehen werden:

HighLevelException: MidLevelException: LowLevelException
                    at Junk.a(Junk.java:13)
                    at Junk.main(Junk.java:4)
            Caused by: MidLevelException: LowLevelException
                    at Junk.c(Junk.java:23)
                    at Junk.b(Junk.java:17)
                    at Junk.a(Junk.java:11)
                    ... 1 more
            Caused by: LowLevelException
                    at Junk.e(Junk.java:30)
                    at Junk.d(Junk.java:27)
                    at Junk.c(Junk.java:21)
                    ... 3 more

Beachten Sie das Vorhandensein von Zeilen, die die Zeichen "..."enthalten. Diese Zeilen geben an, dass der Rest der Stapelablaufverfolgung für diese Ausnahme mit der angegebenen Anzahl von Frames vom unteren Rand der Stapelablaufverfolgung der Ausnahme übereinstimmt, die durch diese Ausnahme verursacht wurde (die Ausnahme "einschließend"). Diese Kurzform kann die Länge der Ausgabe im allgemeinen Fall erheblich reduzieren, wenn eine umgebrochene Ausnahme aus derselben Methode ausgelöst wird wie die "ursächliche Ausnahme" wird abgefangen. Das obige Beispiel wurde durch Ausführen des Programms erstellt:

public class Junk {
                public static void main(String args[]) {
                    try {
                        a();
                    } catch(HighLevelException e) {
                        e.printStackTrace();
                    }
                }
                static void a() throws HighLevelException {
                    try {
                        b();
                    } catch(MidLevelException e) {
                        throw new HighLevelException(e);
                    }
                }
                static void b() throws MidLevelException {
                    c();
                }
                static void c() throws MidLevelException {
                    try {
                        d();
                    } catch(LowLevelException e) {
                        throw new MidLevelException(e);
                    }
                }
                static void d() throws LowLevelException {
                   e();
                }
                static void e() throws LowLevelException {
                    throw new LowLevelException();
                }
            }

            class HighLevelException extends Exception {
                HighLevelException(Throwable cause) { super(cause); }
            }

            class MidLevelException extends Exception {
                MidLevelException(Throwable cause)  { super(cause); }
            }

            class LowLevelException extends Exception {
            }

Ab Release 7 unterstützt die Plattform den Begriff unterdrückter Ausnahmen (in Verbindung mit der tryAnweisung "-with-resources"). Alle Ausnahmen, die unterdrückt wurden, um eine Ausnahme zu liefern, werden unter der Stapelablaufverfolgung gedruckt. Das Format dieser Informationen hängt von der Implementierung ab, aber das folgende Beispiel kann als typisch angesehen werden:

Exception in thread "main" java.lang.Exception: Something happened
             at Foo.bar(Foo.java:10)
             at Foo.main(Foo.java:5)
             Suppressed: Resource$CloseFailException: Resource ID = 0
                     at Resource.close(Resource.java:26)
                     at Foo.bar(Foo.java:9)
                     ... 1 more

Beachten Sie, dass "... n mehr" Notation wird für unterdrückte Ausnahmen verwendet, genauso wie sie für Ursachen verwendet wird. Im Gegensatz zu Ursachen werden unterdrückte Ausnahmen über ihre "enthaltenden Ausnahmen" hinaus eingerückt.

Eine Ausnahme kann sowohl eine Ursache als auch eine oder mehrere unterdrückte Ausnahmen aufweisen:

Exception in thread "main" java.lang.Exception: Main block
             at Foo3.main(Foo3.java:7)
             Suppressed: Resource$CloseFailException: Resource ID = 2
                     at Resource.close(Resource.java:26)
                     at Foo3.main(Foo3.java:5)
             Suppressed: Resource$CloseFailException: Resource ID = 1
                     at Resource.close(Resource.java:26)
                     at Foo3.main(Foo3.java:5)
            Caused by: java.lang.Exception: I did it
             at Foo3.main(Foo3.java:8)

Ebenso kann eine unterdrückte Ausnahme eine Ursache haben:

Exception in thread "main" java.lang.Exception: Main block
             at Foo4.main(Foo4.java:6)
             Suppressed: Resource2$CloseFailException: Resource ID = 1
                     at Resource2.close(Resource2.java:20)
                     at Foo4.main(Foo4.java:5)
             Caused by: java.lang.Exception: Rats, you caught me
                     at Resource2$CloseFailException.&lt;init&gt;(Resource2.java:45)
                     ... 2 more

Java Dokumentation für java.lang.Throwable.printStackTrace().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: