Throwable.PrintStackTrace Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
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
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.<init>(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.