เราควรทำอย่างไรหากโปรแกรมไม่ได้เตรียมรับมือกับข้อผิดพลาดโดย การตรวจจับข้อยกเว้น ? เราสามารถแก้ไขได้ด้วย ข้อความยืนยัน
คำสั่งยืนยันมีประโยชน์มากในระหว่างขั้นตอนการดีบักโค้ด และโดยทั่วไปจะใช้สำหรับข้อผิดพลาดที่โปรแกรมไม่ได้จัดเตรียมไว้เพื่อจัดการโดยการตรวจจับข้อยกเว้น
ตัวอย่างเช่น: เมื่อมีข้อผิดพลาดเกิดขึ้น เช่น เมื่อมีการซื้อขายบัญชีและจำนวนรายจ่ายเป็นจำนวนบวก หรือจำนวนรายได้เป็นจำนวนลบ โปรแกรมจะต้องหยุดการดำเนินการทันที ปล่อยให้คำสั่งการยืนยันทำงานในระหว่างขั้นตอนการแก้ไขโค้ด เพื่อให้คุณสามารถค้นหาข้อผิดพลาดร้ายแรงได้ เมื่อโปรแกรมทำงานอย่างเป็นทางการ คุณสามารถปิดคำสั่งการยืนยันได้ แต่ยังคงเก็บคำสั่งการยืนยันไว้ในซอร์สโค้ด หากแอปพลิเคชันต้องการ เพื่อแก้ไขจุดบกพร่องอีกครั้งในอนาคต คุณสามารถเปิดใช้งานข้อความยืนยันอีกครั้งได้
เราใช้คำสำคัญ ยืนยัน เพื่อประกาศคำสั่งยืนยันมีสองรูปแบบดังต่อไปนี้:
assertbooleanExpression;//นิพจน์ที่ประเมินเป็นประเภทบูลีน assertbooleanExpression:messageException;//นิพจน์ที่ประเมินเป็นประเภทสตริง
เมื่อค่าเป็นจริง การทำงานของโปรแกรมจะดำเนินต่อไปจากคำสั่งยืนยัน
เมื่อค่าเป็นเท็จ การทำงานของโปรแกรมจะหยุดที่คำสั่งยืนยัน
เมื่อค่าเป็นจริง การทำงานของโปรแกรมจะดำเนินต่อไปจากคำสั่งยืนยัน
เมื่อค่าเป็นเท็จ โปรแกรมจะหยุดการดำเนินการจากคำสั่งยืนยันและส่งออกค่าของนิพจน์ messageException เพื่อเตือนผู้ใช้ถึงปัญหาที่เกิดขึ้น
ตัวอย่างเช่น สำหรับข้อความยืนยัน:
ยืนยัน>=0;
หากค่าของนิพจน์ i >= 0 เป็นจริง โปรแกรมจะดำเนินการต่อไป หากค่าของนิพจน์ i >= 0 เป็นเท็จ โปรแกรมจะสิ้นสุดการดำเนินการทันที
เมื่อรันแอปพลิเคชันโดยตรงโดยใช้ตัวแปล Java คำสั่งการยืนยันจะถูกปิดตามค่าเริ่มต้น คุณสามารถใช้ -ea เพื่อเปิดใช้งานคำสั่งการยืนยันเมื่อทำการดีบักโปรแกรม ตัวอย่างเช่น:
java-eamainclass
ตัวอย่างเช่น:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){//ใช้สำหรับเพื่อสำรวจอาร์เรย์ assertnumber>= 0: จำนวนติดลบไม่สามารถเป็นเกรด;sum=sum+number;}System.out.println(คะแนนรวม:+sum);}}
ผลการวิ่งมีดังนี้:
คะแนนรวม: 260