Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.04.2018
Сообщений: 13

Catch nullpointerexception или if != null

10.02.2019, 22:53. Показов 1715. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,
возник вопрос, какой стиль считается хорошим, делать проверку на null в if выражении или просто отловить исключение? Например:
Java
1
2
3
4
5
6
        try {
            return Object.elementName;
        }
        catch (NullPointerException e) {
            return null;
        }
или
Java
1
2
3
4
5
6
      if (Object != null) {
        return Object.elementName;
      }
     else {
        return null;
     }
P.S. геттеры и сеттеры специально для примера не устанавливаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2019, 22:53
Ответы с готовыми решениями:

Как устранить исключение NullPointerException: cancel() called with a null PendingIntent?
09-24 23:07:01.129 3654-4153/? E/Watchdog: !@Sync 194 09-24 23:07:04.250 14966-14966/com.example.edisa.douglasadamsalarmclock...

Значение Null в datagridview вызывает исключение. Не получается использовать Try-Catch
Доброго времени суток. Чет уже котелок совсем не варит. после прохождения всех строк в DGV ...

Отлов ошибок Try-catch или параноя
Кто на сколько часто использует забивание ошибок данными конструкциями без отлова, какая именно ошибка произошла? Приведу пример: есть...

9
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
10.02.2019, 23:10
создание исключения дорогостоящий процесс, если можно предотвратить исключение, надо это сделать
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.02.2019, 01:04
petro2033, проверять на null, а потом всё равно возвращать null - нет никакого смысла.
А вообще, выпускать на волю NullPointerException считается моветоном.
1
0 / 0 / 0
Регистрация: 17.04.2018
Сообщений: 13
11.02.2019, 01:38  [ТС]
Ага, глаз режет от кода... но я просто в ознакомительных целях спросил) Спасибо.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
11.02.2019, 08:16
Цитата Сообщение от Kukstyler Посмотреть сообщение
выпускать на волю NullPointerException считается моветоном.
Моветоном считается перехват NPE.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.02.2019, 20:48
korvin_, уж лучше перехват, чем запускать его в вольное путешествие. Хоть и по хорошему, нужды и в перехвате не должно быть, в этом согласен.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.02.2019, 21:01
Optional рулит!
2
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
11.02.2019, 22:38
Цитата Сообщение от Kukstyler Посмотреть сообщение
уж лучше перехват, чем запускать его в вольное путешествие.
Нет, не лучше.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
11.02.2019, 22:45
korvin_, я имею в виду перехват для уточнения где когда и как, а не для затыкания.
Ещё раз говорю - по хорошему его вообще не должно быть!
Но (т.к. никто не совершенен (с)), ИМХО (и далеко не только моё) когда в готовом продукте у клиента вылетает NullPointerException с ничего ему (клиенту) не говорящим логом, то это конкретный прокол. А когда "говорящая" ошибка, хоть и по причине NullPointerException-а, то это другое дело.
0
 Аватар для Aviz__
2742 / 2051 / 507
Регистрация: 17.02.2014
Сообщений: 9,471
12.02.2019, 08:49
Цитата Сообщение от Kukstyler Посмотреть сообщение
то это другое дело.
чем же?!
Для Машеньки с бухгалтерии нет никакой разницы! А вот лог, ты ты можешь прочесть удаленно и возможно, в худшем случае (пока ты не слабал новую версию), дать Машеньки рекомендации, как с этим бороться.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2019, 08:49
Помогаю со студенческими работами здесь

Подскажите верный способ использования try/catch или TryParse
Привет !Задача заключается в обеспечении того, что бы запущенная программа была без ошибок во время выполнения. Но y меня не получется...

Begin Transaction снаружи или внутри TRY CATCH? И почему
begin tran t1 begin try --statement PRINT('succes'); commit tran t1 end try begin catch PRINT('error '); ...

Игра catch Fruit (или ловим фрукты) корректность управления потоками
День добрый уровень программирования на стадии обучения есть задача написать игру catch fruit на языке c# в Windows Forms с...

Что использовать для проверки корректности введенного значения - If или try catch?
Проверку на правильность введенного значения лучше делать с помощью условного оператора или блоком try - catch, меня мучает вопрос,...

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru