Java jdb打印捕获的异常消息

Java jdb打印捕获的异常消息,java,jdb,Java,Jdb,当错误发生时,我会在java代码中抛出异常。然后我使用jdb运行代码,这样当异常发生时,我就可以看到代码的状态并进行调试。对于我抛出的所有异常,我输入了一个有用的字符串消息。但是,当jdb捕获异常时,它不会将此字符串与异常一起打印。如何打印此字符串 我在谷歌上搜索并阅读了文档,但我不知道怎么做 如果我有测试类: public class Test{ public static void main(String[] args){ throw new IllegalArgum

当错误发生时,我会在java代码中抛出异常。然后我使用jdb运行代码,这样当异常发生时,我就可以看到代码的状态并进行调试。对于我抛出的所有异常,我输入了一个有用的字符串消息。但是,当jdb捕获异常时,它不会将此字符串与异常一起打印。如何打印此字符串

我在谷歌上搜索并阅读了文档,但我不知道怎么做

如果我有测试类:

public class Test{
    public static void main(String[] args){
        throw new IllegalArgumentException("How do I view this string through jdb?");
    }
}
并通过jdb运行它:

$ jdb Test
Initializing jdb ...
> run
run Test
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
> 
VM Started: 
Exception occurred: java.lang.IllegalArgumentException (uncaught)"thread=main", Test.main(), line=3 bci=9

main[1] 

查看JDB的“catch”命令,例如“catch IllegalArgumentException”。按照JDB的说法,当抛出异常时,它将导致调试器中断,以便您可以探究细节。关于调试的文档很好地解释了依赖“print”语句的一些缺点,还引用了JDB的“catch”功能。

为什么不使用现代ide?我会的,但更改我使用过的ide(NetBeans和Eclipse)中的命令行参数始终是个问题。对我来说,将选项卡替换到终端并执行它更容易。唯一的问题是,我根据错误IllegalArgument、IllegalState、AssertionError等抛出不同的异常。代码库不是很小,我不记得我抛出的所有异常