Throwable.PrintStackTrace Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| PrintStackTrace(PrintStream) |
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran cetak yang ditentukan. |
| PrintStackTrace(PrintWriter) |
Mencetak yang dapat dilemparkan ini dan lacak baliknya ke penulis cetak yang ditentukan. |
| PrintStackTrace() |
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran kesalahan standar. |
PrintStackTrace(PrintStream)
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran cetak yang ditentukan.
[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 untuk digunakan untuk output
- Atribut
Keterangan
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran cetak yang ditentukan.
Java dokumentasi untuk java.lang.Throwable.printStackTrace(java.io.PrintStream).
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Berlaku untuk
PrintStackTrace(PrintWriter)
Mencetak yang dapat dilemparkan ini dan lacak baliknya ke penulis cetak yang ditentukan.
[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 untuk digunakan untuk output
- Atribut
Keterangan
Mencetak yang dapat dilemparkan ini dan lacak baliknya ke penulis cetak yang ditentukan.
Ditambahkan dalam 1.1.
Java dokumentasi untuk java.lang.Throwable.printStackTrace(java.io.PrintWriter).
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Berlaku untuk
PrintStackTrace()
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran kesalahan standar.
[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
- Atribut
Keterangan
Mencetak ini dapat dilemparkan dan lacak baliknya ke aliran kesalahan standar. Metode ini mencetak jejak tumpukan untuk objek ini Throwable pada aliran output kesalahan yang merupakan nilai bidang System.err. Baris pertama output berisi hasil #toString() metode untuk objek ini. Baris yang tersisa mewakili data yang sebelumnya direkam oleh metode #fillInStackTrace(). Format informasi ini tergantung pada implementasinya, tetapi contoh berikut dapat dianggap sebagai tipikal: <blockquote>
java.lang.NullPointerException
at MyClass.mash(MyClass.java:9)
at MyClass.crunch(MyClass.java:6)
at MyClass.main(MyClass.java:3)
</blockquote> Contoh ini dihasilkan dengan menjalankan program:
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]);
}
}
Backtrace untuk yang dapat dilemparkan dengan penyebab non-null yang diinisialisasi umumnya harus menyertakan backtrace untuk penyebabnya. Format informasi ini tergantung pada implementasinya, tetapi contoh berikut dapat dianggap sebagai tipikal:
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
Perhatikan keberadaan baris yang berisi karakter "...". Baris-baris ini menunjukkan bahwa sisa jejak tumpukan untuk pengecualian ini cocok dengan jumlah bingkai yang ditunjukkan dari bagian bawah jejak tumpukan pengecualian yang disebabkan oleh pengecualian ini (pengecualian "penutup"). Singkatan ini dapat sangat mengurangi panjang output dalam kasus umum di mana pengecualian yang dibungkus dilemparkan dari metode yang sama dengan "pengecualian penyebab" tertangkap. Contoh di atas dihasilkan dengan menjalankan program:
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 {
}
Pada rilis 7, platform mendukung gagasan pengecualian yang ditekan (bersama dengan trypernyataan -with-resources). Setiap pengecualian yang ditekan untuk memberikan pengecualian dicetak di bawah jejak tumpukan. Format informasi ini tergantung pada implementasinya, tetapi contoh berikut dapat dianggap sebagai tipikal:
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
Perhatikan bahwa "... n lebih" notasi digunakan pada pengecualian yang ditekan sama seperti yang digunakan pada penyebabnya. Tidak seperti penyebab, pengecualian yang ditekan diindentasi di luar "berisi pengecualian."
Pengecualian dapat memiliki penyebab dan satu atau beberapa pengecualian yang ditekan:
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)
Demikian juga, pengecualian yang ditekan dapat memiliki penyebab:
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 dokumentasi untuk java.lang.Throwable.printStackTrace().
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.