81、JShell使用指南:从基础到高级配置

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值