Затмение Условного Останова. Как проверить, происходит ли исключение?
У меня есть такая функция:
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 ответа:
Да есть опция под названием "точка останова исключения"
Откройте представление точки останова, нажмите на опцию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...