Подтвердить что ты не робот

NetBeans и останавливать/прерывать все Исключения?

Я использую NetBeans в качестве своей IDE для разработки Android.

Тем не менее, когда я получаю исключение, Netbeans не нарушает исключение, как я ожидаю.

Я установил флажок "Остановить необработанные исключения", который можно найти в меню "Параметры" → "Отладчик Java" → "Остановить необработанные исключения", но это не помогает.

Кроме того, где я могу увидеть фактическое сообщение об исключении? Я ничего не вижу Я понятия не имею, где и когда возникает исключение, только то, что оно происходит.

Я читал на сайте netbeans.org о баге в 6.9.1, который был исправлен, но, похоже, он не исправлен в 7.0, который у меня есть.

Окно отладки не говорит ничего полезного, дает некоторую форму трассировки стека, которая не имеет смысла, так как она не определяет мой собственный код.

Я перешел с Eclipse, потому что эта IDE отстой, NetBeans намного экономнее, но отладка должна быть исправлена, чтобы быть полезной.

4b9b3361

Ответ 1

У меня есть эта проблема, когда я использую netbeans тоже. Чтобы получить сообщение об исключении, я использую try-and-catch. В операторе catch() вызовите функцию, содержащую некоторый код, и поместите на нее точку останова. Затем, когда предоставляется исключение, вызывается точка останова в выписке, и вы можете прочитать информацию (сообщение об ошибке, стек и т.д.) Из объекта Exception.

try
{
    // Doing something here
}
catch (Exception e1)
{
    // This is called when an exception occurs
    doSomething();   /// Put breakpoint here
}

UPDATE:

Я не уверен, что это будет работать для Android, но вы можете попробовать ввести "Новая точка останова". При вводе новой точки останова для исключения исключения вам необходимо знать точное имя исключения пакета/класса. Например, если вы хотите поймать NullPointerException, затем перейдите в Debug → New Breakpoint, чтобы создать новую точку останова и ввести java.lang.NullPointerException в поле Имя класса исключения в Диалоговое окно Свойства точки останова. Выбирайте, нужно ли прерывать обнаруженные, неперехваченные или оба исключения, и он попадает в точку останова, если такой тип исключения когда-либо встречается в классе/проекте.

Ответ 2

У меня было такое поведение, когда у меня был исходный файл, который генерировал исключение NOT в "пакете по умолчанию". Когда я переместил все в "пакет по умолчанию", он начал нормально работать и автоматически останавливался на исключении.

Ответ 3

Этот ответ на самом деле также отвечает на этот вопрос: fooobar.com/info/178409/...

Чтобы процитировать пользователя Finbarr:

Перейти к отладке> Новая точка останова (альтернативно CTRL + SHIFT + F8). Изменить Тип точки останова на Исключение в правом верхнем раскрывающемся меню. Введите java.lang.NullPointerException в поле класса исключения. Выберите, следует ли разбивать пойманный, необученный или оба.

Отладьте ваш код и наблюдайте за великолепной автоматической точкой останова, когда Исключение брошено.

Просто измените java.lang.NullPointerException на java.lang.Exception, чтобы устранить любую ошибку.