Потому что в данном случае задача присвоить значение строковое определенному элементу и если такого поля нет, то вероятно что-то пошло не так
да, но это же можно узнать и без исключения, с проверкой на null и, например, потом уже выбросить свое с более конкреткзированным контекстом