Я думаю, что один NULL - это более низкий общий знаменатель для работы с базовым шаблоном
if thing is not NULL
work with it
else
do something else
В части «сделай что-нибудь другое» существует широкий диапазон возможностей: от «хорошо, забудь об этом» до попытки «получить вещь» где-то еще. Если вы просто не игнорируете что-то, что имеет значение NULL, вам, вероятно, нужно знать, почему «вещь» была NULL. Наличие нескольких типов NULL поможет вам ответить на этот вопрос, но возможных ответов множество, как указано в других ответах здесь. Отсутствующая вещь может быть просто ошибкой, может быть ошибкой при попытке ее получить, она может быть недоступна прямо сейчас и так далее. Чтобы решить, какие случаи применимы к вашему коду - что означает, что вы должны их обрабатывать - это зависит от домена. Поэтому лучше использовать механизм, определенный приложением, для кодирования этих причин, а не искать языковую функцию, которая пытается справиться со всеми из них.