Ответ
При попытке обратиться к несуществующему полю через рефлексию будет выброшено исключение NoSuchFieldException.
Пример:
try {
val field = SomeClass::class.java.getDeclaredField("nonExistingField")
// ...
} catch (e: NoSuchFieldException) {
// Обработка случая, когда поле не найдено
}
Важно:
- Исключение возникает как для приватных, так и для публичных полей
- Для проверки существования поля можно использовать
getDeclaredFields()и искать поле в массиве - В отличие от обычного доступа, рефлексия не дает NullPointerException, а сразу бросает NoSuchFieldException