สารบัญ:

การดีบัก Java พื้นฐาน: 9 ขั้นตอน
การดีบัก Java พื้นฐาน: 9 ขั้นตอน

วีดีโอ: การดีบัก Java พื้นฐาน: 9 ขั้นตอน

วีดีโอ: การดีบัก Java พื้นฐาน: 9 ขั้นตอน
วีดีโอ: Eclipse Java Tutorial 9 - Debug Java Program 2024, มิถุนายน
Anonim
การดีบัก Java พื้นฐาน
การดีบัก Java พื้นฐาน

คู่มือคำแนะนำนี้ครอบคลุมการตรวจสอบขั้นพื้นฐานทีละขั้นตอนสำหรับการจัดการข้อผิดพลาด Java คู่มือนี้ไม่ได้ให้ความช่วยเหลือใดๆ ในการตั้งค่าซอฟต์แวร์การเขียนโปรแกรมจาวา และคาดว่าคุณทำงานนี้สำเร็จล่วงหน้าแล้ว เพื่อการใช้งานคู่มือนี้ให้เกิดประโยชน์สูงสุด ให้กลับมาที่คู่มือนี้ทุกครั้งที่เกิดข้อผิดพลาดซึ่งคุณไม่แน่ใจ และตรวจสอบความเป็นไปได้ทั่วไป 8 ประการ จนกว่าคุณจะพบวิธีแก้ปัญหาหรือไปถึงจุดสิ้นสุด โปรดทราบว่า ตัวอย่างเหล่านี้ล้วนแต่เป็นพื้นฐานและมีไว้สำหรับการสนับสนุนผู้เริ่มต้น

ก่อนที่คุณจะเริ่มตรวจสอบแต่ละวิธีแก้ปัญหาที่เป็นไปได้ ให้ตรวจดูข้อผิดพลาดที่ Java กำลังแจ้งให้คุณทราบ แต่ละขั้นตอนจะเริ่มต้นด้วยการแสดงข้อผิดพลาดที่เกี่ยวข้อง

ขั้นตอนที่ 1: “ข้อผิดพลาดทางไวยากรณ์ แทรก “;” เพื่อทำให้ BlockStatements สมบูรณ์”

“ไวยากรณ์ผิดพลาด แทรก;” เพื่อทำให้ BlockStatements สมบูรณ์”
“ไวยากรณ์ผิดพลาด แทรก;” เพื่อทำให้ BlockStatements สมบูรณ์”

นี่เป็นข้อผิดพลาดทางไวยากรณ์พื้นฐานที่สุด หมายความว่าคุณลืมเครื่องหมายอัฒภาคที่ส่วนท้ายของคำสั่ง คำสั่งประกาศและนิพจน์ทั้งหมดจะลงท้ายด้วยอัฒภาค ในกรณีอื่นๆ เช่น if, else และสำหรับคำสั่ง คุณไม่จำเป็นต้องใส่เครื่องหมายอัฒภาค

ขั้นตอนที่ 2: “ไม่สามารถแก้ไขเป็นตัวแปรได้” หรือ “แทรกตัวประกาศตัวแปร”

“ไม่สามารถแก้ไขเป็นตัวแปรได้” หรือ “แทรกตัวประกาศตัวแปร”
“ไม่สามารถแก้ไขเป็นตัวแปรได้” หรือ “แทรกตัวประกาศตัวแปร”

ข้อผิดพลาดทางไวยากรณ์นี้เกิดขึ้นเมื่อคุณพยายามใช้ตัวแปรโดยไม่ได้สร้างตัวแปรขึ้นมาก่อนหรือระบุประเภทข้อมูล เพียงเพิ่มประเภทข้อมูลที่เชื่อมโยงกับตัวแปรของคุณ ตัวอย่างอาจเป็น "int", "boolean", "char" และ "double"

ขั้นตอนที่ 3: “แทรก “}” เพื่อทำให้ ClassBody สมบูรณ์"

“ใส่ “}” เพื่อกรอก ClassBody
“ใส่ “}” เพื่อกรอก ClassBody

ข้อผิดพลาดทางไวยากรณ์ครั้งต่อไปของเราเกี่ยวข้องกับวงเล็บปีกกา โดยปกติคุณจะเห็นข้อผิดพลาดเกิดขึ้นเมื่อคุณพลาดวงเล็บปีกกาหนึ่งอันหรือทั้งสองอัน หากคุณไม่มีทั้งสองอย่าง คุณจะเห็นข้อผิดพลาด "แทรก "ClassBody" เพื่อเสร็จสิ้น ClassDeclaration" หากไม่มีเพียงรายการเดียวที่หายไป คุณจะเห็นข้อผิดพลาด "แทรก "}" เพื่อให้ ClassBody สมบูรณ์" หรือ "{ คาดหวังหลังจากโทเค็นนี้". ปกติจะเกิดข้อผิดพลาดในบรรทัดเมื่อสามารถใส่วงเล็บปีกกาเพื่อแก้ไขได้

ขั้นตอนที่ 4: วงอนันต์

วนไม่มีสิ้นสุด
วนไม่มีสิ้นสุด

ตอนนี้เราดูกรณีที่ไคลเอ็นต์ Java มักไม่มีข้อผิดพลาด สิ่งนี้จะเกิดขึ้นเมื่อคุณมีลูป เช่น while loop หรือ for loop ที่วนเป็นอนันต์ ไม่มีคำตอบง่ายๆ สำหรับวิธีแก้ปัญหา เนื่องจากรหัสของแต่ละคนจะแตกต่างกันไป แต่การพยายามเพิ่มขีดจำกัดเพิ่มเติมด้วยตนเองภายในรหัสควรเป็นเป้าหมายหลัก หลังจากนั้นให้พยายามหาสาเหตุที่โค้ดของคุณไม่เป็นไปตามเงื่อนไขการแตกลูปของคุณ?

ขั้นตอนที่ 5: “ไม่สามารถแก้ไขเป็นประเภทได้”

“ไม่สามารถแก้ไขได้เป็นประเภท”
“ไม่สามารถแก้ไขได้เป็นประเภท”
“ไม่สามารถแก้ไขได้เป็นประเภท”
“ไม่สามารถแก้ไขได้เป็นประเภท”

ข้อผิดพลาดทางไวยากรณ์นี้เกี่ยวข้องกับการนำเข้า เมื่อใดก็ตามที่เราต้องการใช้ API จากคลาสอื่น เราต้องนำเข้าคลาสนั้นไปยังคลาสปัจจุบัน กรณีนี้มักเกิดขึ้นคือการใช้ฟังก์ชัน Scanner เพื่อใช้งาน คุณต้องนำเข้าคลาส "java.util. Scanner" โปรดทราบว่านี่เป็นเพียงตัวอย่างเท่านั้น

ขั้นตอนที่ 6: “วิธีการ “” ไม่ได้กำหนดไว้สำหรับประเภท”

“วิธีการ “” ไม่ได้กำหนดไว้สำหรับประเภท”
“วิธีการ “” ไม่ได้กำหนดไว้สำหรับประเภท”

ข้อผิดพลาดทางไวยากรณ์นี้เกิดขึ้นเมื่อเราลืมชื่อคลาสในระหว่างการเรียกใช้เมธอด ตัวอย่างหลักสำหรับสิ่งนี้คือเมื่อใดก็ตามที่เราพยายามพิมพ์ หากคุณเป็นคนที่มาจากภาษาที่ใช้ฟังก์ชัน print() อย่างง่าย สิ่งนี้สามารถเกิดขึ้นได้บ่อยครั้ง คุณจะต้องการใช้ System.out.print() หรือ System.out.println() แทน สิ่งนี้จะเกิดขึ้นเสมอระหว่างการเรียกใช้เมธอด

ขั้นตอนที่ 7: “สตริงตัวอักษรไม่ถูกปิดอย่างเหมาะสมโดยดับเบิลอัญประกาศ”

“ตัวอักษรสตริงไม่ถูกปิดอย่างเหมาะสมโดยดับเบิลอัญประกาศ”
“ตัวอักษรสตริงไม่ถูกปิดอย่างเหมาะสมโดยดับเบิลอัญประกาศ”

ไวยากรณ์นี้เกิดขึ้นเมื่อเราใช้สตริง ปัญหาเกี่ยวข้องกับสตริงที่เปิด แต่ไม่ปิด จะมีการทำเครื่องหมายบนบรรทัดที่เกิดเสมอและได้รับการแก้ไขโดยการวางใบเสนอราคาคู่ที่สองนั้น โปรดทราบว่าหากคุณพยายามใช้อัญประกาศเดี่ยวสำหรับสตริงซึ่งจะส่งผลให้เกิดข้อผิดพลาด "ค่าคงที่อักขระที่ไม่ถูกต้อง"

ขั้นตอนที่ 8: “ประเภทการส่งคืนสำหรับวิธีการหายไป”

“ประเภทการส่งคืนสำหรับวิธีการหายไป”
“ประเภทการส่งคืนสำหรับวิธีการหายไป”
“ประเภทการส่งคืนสำหรับวิธีการหายไป”
“ประเภทการส่งคืนสำหรับวิธีการหายไป”

ไวยากรณ์สุดท้ายที่ควรค่าแก่การกล่าวถึงคือประเภทการส่งคืนเมธอดและการส่งคืนที่ขาดหายไป "ประเภทการส่งคืนสำหรับเมธอดหายไป" เกิดขึ้นเมื่อคุณมีวิธีการที่พยายามส่งคืนบางอย่างโดยที่ขาดข้อกำหนดของประเภทนั้นในลายเซ็นเมธอด ข้อผิดพลาดจะเกิดขึ้นในลายเซ็นและมักจะแก้ไขได้อย่างรวดเร็ว เมื่อพูดถึงข้อผิดพลาด "วิธีต้องส่งคืนผลลัพธ์ของประเภท" คุณเพียงแค่ต้องแน่ใจว่าคุณส่งคืนบางสิ่งด้วยประเภทนั้น

ขั้นตอนที่ 9: ความช่วยเหลือพิเศษ

หากคุณไม่พบการแก้ไขข้อผิดพลาด ให้ลองใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ คัดลอกบันทึกของ Java เกี่ยวกับข้อผิดพลาดที่เกิดขึ้นและพยายามค้นหาวิธีแก้ไขโดยวางลงในการค้นหาเว็บ ค้นหาคู่มือการจัดการข้อผิดพลาด Java ขั้นสูงหรือที่ชัดเจนกว่านี้ สุดท้ายนี้ หากตัวเลือกเหล่านี้ไม่ได้ช่วยอะไร และคุณมีเวลาเหลือ ให้ลองโพสต์คำถามของคุณในฟอรัมการสนับสนุน เช่น Stackoverflow โดยทั่วไป คุณจะได้รับการตอบกลับพร้อมคำอธิบายว่าเหตุใดจึงเกิดข้อผิดพลาดตั้งแต่แรก

แนะนำ: