Я знаю, что java не может дать мне имя нулевого поля во время выполнения, но во многих случаях с сообщением NullPointerException
, которое содержит нулевое имя класса времени выполнения объекта, возможно, было бы намного проще проследить причину исключения. Или я что-то упускаю, и это тоже невозможно?Java NullPointerException - могу ли я указать класс нулевого объекта?
P.S. Даже если такого стандартного способа нет, можете ли вы придумать трюк, чтобы сделать это?
EDIT:
Для уточнения - я знаю, что могу (в большинстве случаев) проследить источник легко из строки кода, но:
- в некоторых случаях это потребует глубже копаться в (если блок try недостаточно глубоко - это плохой способ кодирования, но иногда это определенный факт).
- Скажите, что какой-то новый парень SO спрашивает об этом Исключении, а затем сообщение может помочь нам решить его проблему намного быстрее (что верно в любом случае отладки из журналов).
Если вы внимательно посмотрите на свой журнал ошибок, вы можете легко найти точное место, где произошло исключение. – stinepike
. Вы можете прочитать stacktrace ошибки и можете найти, какой метод выдает исключение, в какой строке, и определенно вы можете найти, какая переменная равна нулю на этой строке –
StinePike: вы получаете строку, но эта строка может содержать около полудюжины ссылок, каждая из которых может быть «null». Сказав это, у меня никогда не было такой проблемы, как найти виновника. – Joey