А как вобще лечить эти нульпоинтеры? Потому как у меня в апликухе они сыпятся в лог, но все ж работает...
Если отлавливаются в try - catch и соответствующе обрабатываются - никак лечить не надо. Хоте генерация исключения - достаточно "дорогая" операция и лучше до неё не доводить, проверять заранее там, где это возможно.
не использовать null
Не возвращать null из своих методов, проверять входящие параметры, если приходят не из проверенных источников (то есть, всё, кроме кода, который не возвращает null и ты это точно знаешь), использовать левостороннее сравнение констант объектных типов через equals (так как константа точно инициализирована, а то, с чем сравниваем - хер знает), использовать NullObject (паттерн, когда возвращаем вместо null любой валидный объект обозначающий отсутствие значения - пустая коллекция, пустой массив, пустая строка, любая реализация нужной абстракции, символизирующая отсутствие значения), использование Optional'ов (когда возвращается опшионал, то нужно быть полным кретином, чтобы поймать на нём NPE), в крайних случаях - иметь соответствующие обработчики исключений на этот случай.
Спасибо. Большое спасибо. Только ЙА ТУПОЙ, и моя маленькая головушка трещит от объема знаний которые нужно получить, а ведь я не программист, а девопс :(
Если ты реальный девопс (developer + operations), то таки надо это знать. А если девопс, который админ, то у тебя всё просто: идёшь к девам, говоришь "Пацаны, чё за хуйня у нас в логах - NPE постоянно сыпятся, разберитесь!".
Я как раз последний, но сказать так как ты написал я не могу, у меня нет такой власти. Такая вот странная хрень. И поэтому хочу научится самому фиксить это.
Фиксить чужой код - достаточно смелая затея. Особенно если нет опыта в программировании.
Насчёт "Сыпятся NPE но всё работает": там или не всё работает, или странно настроены логи. Если исключение отлавливается и обрабатывается штатно - это не уровень ERROR.
Насчёт "Сыпятся NPE но всё работает": там или не всё работает, или странно настроены логи. Если исключение отлавливается и обрабатывается штатно - это не уровень ERROR.
Это не твоя зона ответственности, от слова совсем. Разве что там где-то конфигов каких не хватает и потому где-то объекты не генерируются (не указал эндпоинт - не получишь коннекшен и т.д.).
Чтобы написать коммент, необходимо залогиниться