Затмение Условного Останова. Как проверить, происходит ли исключение?


У меня есть такая функция:

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 раз, поэтому мне очень трудно найти проблему.

Мой вопрос: есть ли способ поймать это исключение с условием точки останова? Я уже использую эти условия с простыми булевыми условиями, но я не знаю, как остановиться в этой строке, когда исключение брошенный.

Thx заранее

Стефан

3 4

3 ответа:

Да есть опция под названием "точка останова исключения"
Откройте представление точки останова, нажмите на опцию j! и добавьте нужное исключение

Введите описание изображения здесь

Вы пробовали что-то подобное?

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);
}

Я думаю, что вам нужно Java Exception Break Point

В You eclipse откройте ' Add Java Exception Breakpoint... ' из меню выполнить. Вы можете выбрать исключение, для которого вам нужно иметь точку останова.

Run -> Add Java Exception Breakpoint...