NetBeans и останавливать/прерывать все Исключения?
Я использую NetBeans в качестве своей IDE для разработки Android.
Тем не менее, когда я получаю исключение, Netbeans не нарушает исключение, как я ожидаю.
Я установил флажок "Остановить необработанные исключения", который можно найти в меню "Параметры" → "Отладчик Java" → "Остановить необработанные исключения", но это не помогает.
Кроме того, где я могу увидеть фактическое сообщение об исключении? Я ничего не вижу Я понятия не имею, где и когда возникает исключение, только то, что оно происходит.
Я читал на сайте netbeans.org о баге в 6.9.1, который был исправлен, но, похоже, он не исправлен в 7.0, который у меня есть.
Окно отладки не говорит ничего полезного, дает некоторую форму трассировки стека, которая не имеет смысла, так как она не определяет мой собственный код.
Я перешел с Eclipse, потому что эта IDE отстой, NetBeans намного экономнее, но отладка должна быть исправлена, чтобы быть полезной.
Ответы
Ответ 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
, чтобы устранить любую ошибку.