Eclipse条件断点。如何检查是否发生异常?

时间:2013-04-02 07:29:35

标签: java eclipse conditional-breakpoint

我有这个功能:

public static FradId readFradId(DataInput pIn) throws IOException {
    Integer lMainId = Integer.valueOf(pIn.readInt());
    Integer lReferenceId = Integer.valueOf(pIn.readInt());
    String lShortname = pIn.readUTF();
    return new FradId(lMainId,lReferenceId,lShortname);
  }

我在这一行得到了一个断点:

String lShortname = pIn.readUTF();

我的问题是在某些情况下,函数readUTF会抛出RuntimeException。应用程序执行该函数超过100次,因此我很难找到问题。

我的问题:有没有办法用断点条件捕获该异常?我已经在简单的布尔条件下使用了这些条件,但我不知道在抛出异常时如何在该行中停止。

提前谢谢

的Stefan

3 个答案:

答案 0 :(得分:7)

是的,有一个名为"异常断点的选项"
打开断点视图,单击j!选项并添加所需的异常

enter image description here

答案 1 :(得分:2)

我认为你需要Java Exception Break Point

在你的eclipse中,从运行菜单中打开'添加Java异常断点... '。您可以选择需要断点的例外。

Run -> Add Java Exception Breakpoint...

答案 2 :(得分:1)

你试过类似的东西吗?

public static FradId readFradId(DataInput pIn) throws IOException {
    Integer lMainId = Integer.valueOf(pIn.readInt());
    Integer lReferenceId = Integer.valueOf(pIn.readInt());
    try{
        String lShortname = pIn.readUTF();
    }catch(Exception e){
       //need a breakpoint here.
    }
    return new FradId(lMainId,lReferenceId,lShortname);
}