如何在 Java 9 中处理 JShell 中的异常?
javaobject oriented programmingprogramming更新于 2025/7/27 14:04:17
在 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)
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/
打印
下一节:Java 9 中 Optional.ifPresentOrElse() 和 Optional.or() 方法之间的区别? ❯❮ 上一节:Java 9 中使用 Optional.ifPresentOrElse() 方法的目的是什么?

