如何在 Java 9 中處理 JShell 中的異常?


在 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)

更新於: 2020 年 2 月 25 日

310 次瀏覽

啟動您的 職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.