บทความนี้อธิบายถึงคำจำกัดความและการใช้งานของ Java Except Trace Stack แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
1. บทนำสู่สแต็กการติดตามข้อยกเว้น
วิธี PrintStackTrace ของวัตถุข้อยกเว้นใช้ในการพิมพ์ข้อมูลการติดตามสแต็กของข้อยกเว้น ตามผลลัพธ์ผลลัพธ์ของวิธี PrintStackTrace เราสามารถค้นหาแหล่งที่มาของข้อยกเว้นและติดตามกระบวนการทริกเกอร์ข้อยกเว้นตลอดทาง
2. แอปพลิเคชันการติดตามข้อยกเว้นสแต็กในวิธีการหลัก
1 ตัวอย่างรหัส
Class SelfException ขยาย RunTimeException {SelfException () {} SelfException (String msg) {super (msg); }} คลาสสาธารณะ PrintStackTracetest {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {FirstMethod (); } โมฆะคงที่สาธารณะ FirstMethod () {SecondMethod (); } โมฆะคงที่สาธารณะ secondMethod () {ThirdMethod (); } โมฆะคงที่สาธารณะที่สาม ethod () {โยนตัวเองใหม่ ("ข้อมูลข้อยกเว้นที่กำหนดเอง"); -2 ผลการทำงาน
ข้อยกเว้นในเธรด "Main" SelfException: ข้อมูลข้อยกเว้นที่กำหนดเอง
ที่ printstacktracetest.thirdmethod (printstacktracetest.java:26)
ที่ printstacktracetest.secondmethod (printstacktracetest.java:22)
ที่ printstacktracetest.firstmethod (printstacktracetest.java:18)
ที่ printstacktracetest.main (printstacktracetest.java:14)
3 การวิเคราะห์ผลลัพธ์
ตราบใดที่ข้อยกเว้นไม่ได้ถูกจับอย่างสมบูรณ์ข้อยกเว้นจะค่อยๆแพร่กระจายออกไปจากวิธีการที่ข้อยกเว้นเกิดขึ้นก่อนไปยังผู้โทรของวิธีการครั้งแรกและวิธีการโทรสร้างมันอีกครั้ง ... จนกระทั่งในที่สุดก็ผ่านไปยังวิธีหลัก หากวิธีการหลักยังคงไม่จัดการกับข้อยกเว้น JVM จะยกเลิกโปรแกรมและพิมพ์ข้อมูลการติดตามสแต็กของข้อยกเว้น
3. แอปพลิเคชันของการติดตามข้อยกเว้นสแต็กใน multithread
1 ตัวอย่างรหัส
Public Class ThreadExceptionTest ใช้งาน Runnable {Public Void Run () {FirstMethod (); } โมฆะสาธารณะ FirstMethod () {SecondMethod (); } โมฆะสาธารณะ secondMethod () {int a = 5; int b = 0; int c = a / b; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {เธรดใหม่ (ใหม่ ThreadExceptionTest ()). Start (); -2 ผลการทำงาน
ข้อยกเว้นในเธรด "thread-0" java.lang.arithmeticexception: / by zero
ที่ theadexceptiontest.secondmethod (threadexceptiontest.java:16)
ที่ threadexceptiontest.firstmethod (threadexceptiontest.java:10)
ที่ theadexceptiontest.run (threadexceptiontest.java:6)
ที่ java.lang.thread.run (thread.java:619)
3 การวิเคราะห์ผลลัพธ์
โปรแกรมมีข้อยกเว้น arithmeticexception ในวิธีการเรียกใช้ของเธรด แหล่งที่มาของข้อยกเว้นนี้คือวิธีการที่สองของ ThreadException ซึ่งอยู่ในบรรทัดที่ 16 ของไฟล์ ข้อยกเว้นนี้จะสิ้นสุดเมื่อเผยแพร่ไปยังวิธีการเรียกใช้ของคลาสเธรด
สำหรับเนื้อหาที่เกี่ยวข้องกับ Java ผู้อ่านที่สนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "บทนำและการสอนขั้นสูงเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ Java", "การสอนเกี่ยวกับโครงสร้างข้อมูล Java และอัลกอริทึม" สรุปการดำเนินงานของ Java
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน