В языках программирования обнаружение ошибок позволяет нам надлежащим образом выполнять различные функции, запрашивая у разработчика. В таком случае могут быть случаи, когда разработчик может столкнуться с « java.lang.NullPointerException 'по конкретному' нулевой ” при работе с массовыми данными. Это исключение необходимо обработать, чтобы оптимизировать функциональные возможности кода.
В этом блоге будут подробно описаны подходы к решению проблемы « java.lang.NullPointerException ».
Как решить «java.lang.NullPointerException»?
“ java.lang.NullPointerException » возвращается, когда ссылочная переменная вызывается (или разыменовывается) и не ссылается ни на какой объект.
Демонстрация «java.lang.NullPointerException»
На приведенной ниже иллюстрации мы увидим, как возникает обсуждаемое исключение:
Строка s = ноль;
customFunc ( с ) ;
статическая недействительная пользовательская функция ( Строка ул ) {
System.out.println ( ул.длина ( ) ) ;
}
В приведенном выше фрагменте кода:
-
- Во-первых, инициализируйте строку с помощью « нулевой ' ценить.
- На следующем шаге вызовите функцию customFunc(), передав объявленную строку в качестве аргумента.
- После этого определите функцию с именем « пользовательская функция() », указав строку, которую необходимо передать в качестве его параметра.
- В определении функции верните длину переданной строки через « длина ' свойство.
- Этот код будет функционировать таким образом, что, передавая « нулевой ” в функцию, будет выброшено обсуждаемое исключение:
В приведенном выше выводе можно заметить, что « Исключение нулевого указателя ” выбрасывается при вызове “ нулевой ” в качестве аргумента функции.
Подход 1. Устранение «java.lang.NullPointerException» с помощью операторов «try…catch»
“ пытаться » помогает определить блок кода, который необходимо проверить на наличие ошибок во время выполнения, а « ловить » вступает в силу в случае обнаружения ограничения в блоке try. Более конкретно, « java.lang.NullPointerException ” можно обработать, применив нужную операцию в блоке “try” и поместив вероятное исключение в блок “catch”.
Синтаксис
пытаться {Блок кода, который нужно попробовать
}
ловить ( Исключение д ) {
Блок кода для обработки возникшего исключения в блок попытки
}
Пример
Давайте рассмотрим приведенный ниже пример:
Строка s = ноль;customFunc ( с ) ;
статическая недействительная пользовательская функция ( Строка ул ) {
пытаться {
System.out.println ( «Первый персонаж:» + ул.indexOf ( 0 ) ) ;
}
ловить ( NullPointerException e ) {
System.out.println ( 'Выброшено исключение NullPointerException!' ) ;
} }
В приведенных выше строках кода:
-
- Вспомним обсуждаемые подходы к инициализации « нулевой ” value и вызовите указанную функцию, передав нулевое значение в качестве аргумента.
- Теперь аналогичным образом определите функцию с именем « пользовательская функция() ” со строкой, которую нужно передать в качестве параметра.
- После этого примените « пытаться ” для получения индекса указанного символа в строке через “ индекс чего-либо() метод.
- Обратите внимание, что « пытаться ” может быть выполнено, если строка не равна нулю. Поскольку значение « нулевой ', поэтому возникнет исключение, которое будет обработано ' ловить ' заявление.
Выход
В приведенном выше выводе видно, что указанное исключение обслуживается « ловить », и поэтому он выбрасывается, тем самым разрешая его.
Подход 2. Разрешите «java.lang.NullPointerException» с помощью оператора «if/else»
Обсуждаемое исключение также можно разобрать через « если еще ' заявление. Это можно сделать, просто выполнив нужную операцию в « если », а при невыполнении условия возвращается исключение через « еще ' заявление.
Синтаксис
если ( состояние ) {Оператор, который будет выполняться при выполнении условия, т.е. «cond»
}
еще {
Оператор, который будет выполняться при неудовлетворительном 'если' состояние.
}
Пример
Просмотрите следующий пример, чтобы понять, как справиться с исключением:
Строка s = ноль;customFunc ( с ) ;
статическая недействительная пользовательская функция ( Строка ул ) {
если ( ул ! = ноль ) {
System.out.println ( «Первый персонаж:» + ул.indexOf ( 0 ) ) ;
}
еще {
System.out.println ( 'Выброшено исключение NullPointerException!' ) ;
}
}
Примените обсуждаемые ниже шаги, как указано в приведенном выше коде:
-
- Повторите обсуждаемые шаги для инициализации нулевого значения и вызова функции, передав « нулевой ” в качестве аргумента.
- Далее аналогичным образом объявляем функцию « пользовательская функция() ” с указанным параметром.
- Теперь примените « если еще ” такое заявление, что при выполнении условия в “ если », выполняется соответствующий блок.
- В другом случае « еще ” вступит в силу и выдаст обсуждаемое исключение.
- Обратите внимание, что условие в « если ” идентично предыдущему подходу, тем самым искажая его.
Выход
Вот как вы можете справиться с ' java.lang.NullPointerException ».
Заключение
“ java.lang.NullPointerException ” возвращается, когда ссылочная переменная вызывается или разыменовывается и не ссылается ни на какой объект. Это исключение можно обработать, поместив его в « Попробуйте поймать ” таким образом, что при выполнении “ пытаться », столкнувшееся с исключением может быть обслужено последним блоком. Так же ' если еще ” можно использовать для разрешения этого исключения, поместив его в “ еще заявление, если « если ” не удается выполнить. В этом блоге обсуждались подходы к решению проблемы « java.lang.NullPointerException ».