Java开发人员的日常调试情况是抛出异常,然后您需要深入研究调试器以找出抛出的内容.通常,您会尝试在抛出异常之前设置一些断点,并希望您能够确定导致该异常的情况.
在Eclipse中,断点可以定义一个表达式,只有当变量x等于值y时才会触发断点.我的问题是,是否可以定义某种全局表达式,一旦抛出异常,它就被调试器捕获,允许程序员立即检查所有变量?理想情况下,您还没有遇到catch块,Eclipse将捕获引发的异常并停止执行而不更改堆栈内容.
这是可能的还是受JVM的限制?
另一个例子:Eclipse提示:异常断点
Eclipse允许您根据异常发生的位置设置断点.
您可以通过"j!"访问该选项. 调试窗口中的图标(即" 断点视图 "中).
官方帮助主题" 添加Java异常断点 "有更多内容.
Uncaught Exception选项是在未被捕获的位置抛出与断点相同类型的异常时暂停执行.
Caught Exception选项是在捕获的位置抛出与断点相同类型的异常时暂停执行.
不要忘了异常断点上挂起这个异常的子类:
中止执行中遇到的异常类型的子类时.
例如,如果将异常断点RuntimeException
配置为在子类上挂起,则它也将由a触发NullPointerException
.