Проверьте наличие нулевого значения на границах системы и обработайте его соответствующим образом.Внутри вашего программного обеспечения вы знаете, когда что-то должно быть нулевым и что это значит, поэтому нет никаких причин делать ненужные проверки или перехватывать исключения, которые никогда не будут выброшены.Протестируйте свой код, где он взаимодействует с другими компонентами, чтобы убедиться, что он обрабатывает, например, пустые значения, возвращаемые сторонним кодом или передаваемые вызывающими сторонами вашего открытого API.
IMO, вам почти никогда не придетсяпоймать NullPointerException
/ NullReferenceException
(или как его называет ваш язык).Если сторонняя библиотека возвращает ноль, лучший способ справиться с ней, как правило, - выдать собственное исключение с четким сообщением, которое вы можете позже зарегистрировать или вспомнить пользователю, например:
if(returnedValue == null)
{
throw new MyDescriptivelyNamedException("libcrappy returned null again!");
}
Если потребитель вашего компонента передает нулевой аргумент, выведите ArugmentNullException
, IllegalArgumentException
или что-либо еще, соответствующее вашему языку / приложению.