Jejak tumpukan (atau jejak balik) adalah output yang menunjukkan tumpukan metode aplikasi Anda. Anda biasanya akan melihatnya di terminal saat aplikasi Anda mengalami kesalahan.

Seperti namanya, struktur data tumpukan menyimpan metode dalam jejak tumpukan. Metode di mana eksekusi program dimulai berada di bagian bawah tumpukan sedangkan yang menghasilkan jejak tumpukan ada di bagian atas.

Jejak tumpukan bisa sangat berguna saat Anda men-debug kode Anda.

Mengapa Stack Trace Penting?

Jejak tumpukan adalah alat debugging yang penting. Ini memberi Anda informasi terperinci seperti jenis kesalahan, metode di mana itu terjadi, baris dalam kode Anda di mana itu terjadi & jalur file.

Untuk programmer berpengalaman, informasi ini adalah tambang emas untuk memahami apa yang sebenarnya salah dan di mana.

Sebagai seorang programmer, Anda juga dapat meminta program Anda untuk membuat pelacakan tumpukan sesuai permintaan. Ini bisa sangat berguna untuk pemeliharaan kode dan pemecahan masalah.

Cara Mengeluarkan Jejak Tumpukan

Bergantung pada versi kompiler Anda, kemungkinan besar Anda akan mendapatkan traceback yang dapat dibaca. Traceback yang dapat dibaca memberikan teks yang ramah pengguna tentang kesalahan, tidak seperti traceback normal. Ini terutama berlaku untuk kompiler baru. Oleh karena itu, cara terbaik untuk mempelajari pelacakan tumpukan adalah dengan membuatnya sendiri.

Anda dapat menghasilkan jejak tumpukan tanpa kesalahan dalam kode Anda. Untuk melakukannya, cukup gunakan tumpukan sampah metode java.lang. Benang kelas. Ini akan menampilkan semua metode yang telah dipanggil, langsung dari yang memanggil dumpStack. Metode panggilan akan menjadi yang di atas tumpukan struktur data.

Berikut adalah contoh program yang secara eksplisit menghasilkan jejak tumpukan:

kelasStackTraceDemo{
publikstatisruang kosongutama(String[] argumen){
hari();
}

statisruang kosonghari(){
jam();
}

statisruang kosongjam(){
menit();
}

statisruang kosongmenit(){
ke dalam a = 24 * 60;
System.out.println (a + " menit dalam sehari");
Benang.dumpStack();
}
}

Keluaran:

1440 menit dalam sehari
Jawa.lang.Pengecualian: Tumpukanjejak
di java.base/java.lang. Thread.dumpStack (Thread.java: 138)
padaStackTraceDemo.menit(StackTraceDemo.Jawa:17)
padaStackTraceDemo.jam(StackTraceDemo.Jawa:11)
padaStackTraceDemo.hari(StackTraceDemo.Jawa:7)
padaStackTraceDemo.utama(StackTraceDemo.Jawa:3)

Dalam output ini, Anda dapat mengamati bahwa traceback menunjukkan bagaimana program memanggil masing-masing metode Jawa dan pada nomor baris berapa dalam kode sumbernya. Metode yang menghasilkan jejak tumpukan adalah yang ditampilkan di bagian atas tumpukan. Metode yang memanggil itu ada di baris di bawahnya, dan seterusnya.

Di luar Jejak Tumpukan

Secara default, ketika program Java Anda mengalami kesalahan, program akan berhenti dan menampilkan jejak tumpukan. Namun, Anda dapat memilih untuk menangani kesalahan ini dengan baik daripada menampilkan pesan yang dapat membingungkan pengguna akhir.

Anda dapat meningkatkan penanganan kesalahan program Anda dengan menggunakan blok try...catch() untuk menangkap pengecualian. Penting juga untuk mempertimbangkan—dan memahami—berbagai jenis kesalahan yang mungkin dihadapi program Anda.