JShell使用指南:从基础到高级配置
1. 读取JShell堆栈跟踪信息
在JShell中,输入的代码片段是合成类的一部分。由于Java不允许声明顶级方法,方法声明必须是类型的一部分。当Java程序中抛出异常时,堆栈跟踪会打印类型名称和行号。但在JShell中,异常可能从代码片段中抛出,打印合成类名和行号会产生误导,对开发者来说没有意义。
堆栈跟踪中代码片段位置的格式如下:
at <snippet-name> (#<snippet-id>:<line-number-in-snippet>)
有些代码片段可能没有名称,例如输入 2 + 2 就不会有名称。而声明变量的代码片段会被赋予与变量相同的名称,方法和类型声明也是如此。有时可能会有两个同名的代码片段,比如声明一个变量和一个方法/类型使用相同的名称。JShell会为所有代码片段分配唯一的ID,可以使用 /list -all 命令查找代码片段的ID。
以下是一个JShell会话示例,声明了一个 divide() 方法,并打印了整数除以零抛出的 ArithmeticException 异常的堆栈跟踪信息:
jshell> int divide(int x, int y) {
...> return x/y;
...> }
| create
超级会员免费看
订阅专栏 解锁全文
22万+

被折叠的 条评论
为什么被折叠?



