ในขณะที่ต้องจัดการกับฟังก์ชันที่ซับซ้อนใน Java อาจมีบางกรณีที่โปรแกรมเมอร์จำเป็นต้องละเว้นจากข้อจำกัดที่เป็นไปได้ ตัวอย่างเช่น การนำไปใช้และการวิเคราะห์อัลกอริทึมตามข้อยกเว้นที่เป็นไปได้ ในสถานการณ์เช่นนี้ การจับ “ ข้อยกเว้นหลายประการ ” ใน Java ช่วยให้นักพัฒนาสามารถนำตรรกะไปใช้ได้อย่างเหมาะสม และเพิ่มความคล่องตัวในการเรียกใช้โค้ดโดยไม่เกิดปัญหาคอขวด
บล็อกนี้จะสาธิตวิธีการตรวจจับข้อยกเว้นหลายรายการใน Java
จะจับข้อยกเว้นหลายรายการใน Java ได้อย่างไร
“ ลอง…จับ คำสั่ง ” สามารถใช้เพื่อจับข้อยกเว้นหลายข้อใน Java
ตัวอย่างที่ 1: จับข้อยกเว้นหลายรายการใน Java แยกกัน
ในตัวอย่างนี้ สามารถจัดการกับข้อยกเว้นหลายรายการได้โดยระบุแยกจากกัน:
พยายาม {
int x = จำนวนเต็ม.parseInt ( โมฆะ ) ;
System.out.println ( x ) ;
int = 2 ;
int b = ก / 0 ;
System.out.println ( ข ) ;
}
จับ ( NumberFormatExceptionฉ ) {
System.out.println ( f.getMessage ( ) ) ;
}
จับ ( ข้อยกเว้นเลขคณิต อี ) {
System.out.println ( e.getMessage ( ) ) ;
}
ในข้อมูลโค้ดด้านบน:
- ขั้นแรก ให้รวม ' พยายาม ' ปิดกั้น.
- ข้อยกเว้นประการแรก: ใช้ “ แยกวิเคราะห์ () ” วิธีการแปลงสตริง null เป็นจำนวนเต็มส่งผลให้ “ NumberFormatException '.
- ข้อยกเว้นที่สอง: ในข้อยกเว้นนี้ ให้หารจำนวนเริ่มต้นด้วย “ 0 ” ดังนั้นอินฟินิตี้จึงกลับมา นำไปสู่ “ ข้อยกเว้นเลขคณิต '.
- ใน ' จับ ” บล็อก ตอบสนองทั้งข้อยกเว้นที่ต้องเผชิญ
- ภายในบล็อกเหล่านี้ ให้แสดงข้อความข้อยกเว้นโดยละเอียดเป็นสตริงผ่าน ' รับข้อความ () ' วิธี.
- โปรดทราบว่าข้อยกเว้นที่ต้องเผชิญก่อนจะถูกรองรับก่อนหน้านี้และแสดงโดยไม่คำนึงถึงลำดับของ ' จับ ” บล็อก
เอาต์พุต
ในเอาต์พุตนี้ สังเกตได้ว่าเนื่องจากการแยกวิเคราะห์เสร็จสิ้นก่อนในโค้ด ข้อยกเว้นที่สอดคล้องกันจึงแสดงไว้ก่อนหน้านี้
ตัวอย่างที่ 2: จับข้อยกเว้นหลายรายการใน Java โดยใช้ Bitwise หรือโอเปอเรเตอร์ “|”
ในตัวอย่างนี้ ข้อยกเว้นหลายข้อสามารถเผชิญได้ด้วยความช่วยเหลือของตัวดำเนินการระดับบิต OR “ | ” เรียกอีกอย่างว่า “ ท่อเดียว ” ที่จะตรวจสอบเงื่อนไขทุกส่วน กล่าวคือ “ ข้อยกเว้น ” และส่งคืนข้อยกเว้นที่พบก่อนหน้านี้:
พยายาม {int = 2 ;
int b = ก / 0 ;
System.out.println ( ข ) ;
int x = จำนวนเต็ม.parseInt ( โมฆะ ) ;
System.out.println ( x ) ;
}
จับ ( NumberFormatException | ข้อยกเว้นเลขคณิต อี ) {
System.out.println ( e.getMessage ( ) ) ;
}
ในบล็อกรหัสนี้:
- ระลึกถึงวิธีการที่กล่าวถึงเพื่อระบุข้อยกเว้นเดียวกันที่ต้องรองรับ
- โปรดทราบว่าข้อยกเว้นที่พบก่อนหน้านี้ในกรณีนี้คือ ' ข้อยกเว้นทางคณิตศาสตร์ ” เพื่อชี้แจงแนวคิด
- ใน ' จับ ” บล็อก ใช้ตัวดำเนินการระดับบิตหรือ OR “ | ” เพื่อวนซ้ำแต่ละข้อยกเว้นที่ระบุและส่งคืนข้อความที่เกี่ยวข้องกับข้อยกเว้นที่พบก่อนหน้านี้ผ่าน “ รับข้อความ () ' วิธี.
เอาต์พุต
ผลลัพธ์นี้แสดงให้เห็นว่าตั้งแต่ “ ข้อยกเว้นทางคณิตศาสตร์ ” เผชิญหน้าก่อน ข้อความแสดงข้อยกเว้นที่เกี่ยวข้องจะถูกส่งกลับเป็น “ สตริง '.
บทสรุป
“ ลอง…จับ คำสั่ง ” สามารถใช้เพื่อตรวจจับข้อยกเว้น Java หลายรายการ ซึ่งสามารถทำได้โดยการระบุข้อยกเว้นแยกกันหรือใช้ตัวดำเนินการระดับบิต OR “ | “. ข้อยกเว้นรองรับตามลำดับที่เกิดขึ้น บล็อกนี้กล่าวถึงวิธีการตรวจจับข้อยกเว้นหลายข้อใน Java