Java จับข้อยกเว้นหลายรายการ

Java Cab Khx Ykwen Hlay Raykar



ในขณะที่ต้องจัดการกับฟังก์ชันที่ซับซ้อนใน 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