UserNotFoundException более информативна, чем NullReferencePoint
Лично я считаю, если нельзя вернуть что-то взамен null, то лучше выкинуть null вместо эксепшена, а сам null обработать там где это возможно.
Обратная ситуация если ты пишешь библиотеку, тут надо кидать ексепшен вместо null.