Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะจัดการกับข้อยกเว้นใน JShell ใน Java 9 ได้อย่างไร


ใน Java 9 JShell ให้สภาพแวดล้อมที่รวดเร็วและเป็นมิตรที่ช่วยให้เราสามารถสำรวจ ค้นพบ และทดลองกับคุณลักษณะภาษา Java และไลบรารีที่กว้างขวางได้อย่างรวดเร็ว

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

ในตัวอย่างด้านล่าง ArrayIndexOutOfBoundsException เกิดขึ้นเพราะค่าของ "values[4]" ไม่พบ

ตัวอย่าง-1

jshell> int[] values = {10, 20, 30}
values ==> int[3] { 10, 20, 30 }

jshell> values[4]
|   java.lang.ArrayIndexOutOfBoundsException thrown: 4
|        at (#7:1)


ในตัวอย่างด้านล่าง FileNotFoundException เกิดขึ้นเพราะไม่พบไฟล์ในไดเร็กทอรี

ตัวอย่าง-2

jshell> FileInputStream fis = new FileInputStream("data.txt")
| java.io.FileNotFoundException thrown: data.txt (The system cannot find the file specified)
|       at FileInputStream.open0 (Native Method)
|       at FileInputStream.open (FileInputStream.java:196)
|       at FileInputStream. (FileInputStream.java:139)
|       at FileInputStream. (FileInputStream.java:94)
|       at (#5:1)


ในตัวอย่างด้านล่าง ArithmeticException (ยกเว้นที่ไม่ได้ตรวจสอบ) เกิดขึ้นเนื่องจากค่าของ "1/0 " คือ ไม่ได้กำหนด .

ตัวอย่าง-3

jshell> 1/0
|  java.lang.ArithmeticException thrown: / by zero
|        at (#4:1)