在Eclipse IDE中调试Java时将exception作为表达式捕获

Java开发人员的日常调试情况是抛出exception,然后您需要深入研究调试器以找出抛出的内容。 通常,您会尝试在抛出exception之前设置一些断点,并希望您能够确定导致该exception的情况。

在Eclipse中,断点可以定义一个表达式,只有当变量x等于值y时才会触发断点。 我的问题是,是否有可能定义某种全局表达式,一旦抛出exception,它就被调试器捕获,允许程序员立即检查所有变量? 理想情况下,您还没有遇到catch块,Eclipse会捕获引发的exception并停止执行而不更改堆栈内容。

这是可能的还是受JVM的限制?

另一个例子: Eclipse提示:exception断点

Eclipse允许您根据exception发生的位置设置断点。
您可以通过“j!”访问该选项 http://help.eclipse.org/juno/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.png 调试窗口中的图标(即“ 断点视图 ”中)。

添加Java异常窗口

官方帮助主题“ 添加Javaexception断点 ”有更多内容。

  • Uncaught Exception选项是在未被捕获的位置抛出与断点相同类型的exception时暂停执行。
  • Caught Exception选项是在捕获的位置抛出与断点相同类型的exception时暂停执行。
  • 不要忘记exception断点暂停此exception的子类
    在遇到exception类型的子类时挂起执行。
    例如,如果将RuntimeException的exception断点配置为在子类上挂起,则它也将由NullPointerException触发。

替代文字

http://agile.csc.ncsu.edu/SEMaterials/tutorials/eclipse-debugger/

特别是“5.0特殊断点和观看表达式”部分。