NullPointerException [нет сообщения] - как я могу найти его источник?

clojure luminus

102 просмотра

3 ответа

У меня есть NullPointerException [no message]в моем приложении Luminus. Код достаточно длинный, чтобы разместить его здесь, и я не могу найти источник ошибки. Также нет никаких упоминаний об «NullPointerException [no message]» в журналах, и в браузере ошибка просто не имеет смысла, а точное место и переменные, где возникла ошибка, не отображаются точно.

Как я могу проследить, что вызывает ошибку?

Источник Размещён: 08.11.2019 10:55

Ответы (3)


0 плюса

подход, который я использую для таких ошибок

  • если это новая ошибка (начала появляться недавно), то, скорее всего, это вызвано кодом, который был добавлен недавно. так что используйте этот код в качестве отправной точки
  • посмотрите, есть ли какие-либо вызовы API, которые могут возвращать nilзначение. попробуйте заменить каждый API реальным жестко закодированным значением, один за другим, и посмотрите, все еще ли вы видите ошибку
  • как только вы выясните, какой API-вызов возвращается nil, копайте глубже, чтобы увидеть, передаете ли вы какие-либо неправильные аргументы в API или вызываете какой-то случай, из-за которого он возвращаетnil

HTH :)

Автор: Pradnyesh Sawant Размещён: 20.08.2016 05:41

0 плюса

Сообщения об ошибках Clojure могут быть адскими, но они не бесполезны. Взгляните на эту ссылку:

https://8thlight.com/blog/connor-mendenhall/2014/09/12/clojure-stacktraces.html

Это помогло мне и надеюсь, что может сделать то же самое для вас

Автор: lest96 Размещён: 22.08.2016 04:59

-1 плюса

Исключение нулевого указателя вызвано из-за доступа / использования переменной, которая содержит значение. Как программист, мы должны выполнить нулевую проверку переменной, которая возвращает значение из других функций.

Если вы хотите отследить его, просто сохраните точку отладки, от какого действия вы получаете эту ошибку, и проверьте, к какой переменной вы обращаетесь как к нулевому значению.

Автор: Veeresh123 Размещён: 20.08.2016 05:29
Вопросы из категории :
32x32