如何在 Java 9 中处理 JShell 中的异常?
javaobject oriented programmingprogramming更新于 2024/5/6 14:47:00
在 Java 9 中,JShell 提供了一个快速友好的环境,使我们能够快速探索、发现和试验 Java 语言功能和广泛的库。
在 JShell 中,不需要手动捕获异常。JShell自动捕获每个异常并显示有关它的信息,然后显示下一个 JShell 提示,以便我们可以继续会话。它也适用于未检查的异常。通过自动捕获已检查和未检查异常,JShell 使我们更容易试验抛出已检查异常的方法。
在下面的示例中,由于未找到"values[4]" 的值,因此发生了ArrayIndexOutOfBoundsException 。
示例 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)
在下面的例子中,由于"1/0"的值未定义,因此发生了ArithmeticException(未经检查的异常)。
示例 3
jshell> 1/0 | java.lang.ArithmeticException thrown: / by zero | at (#4:1)