В чем разница между KotlinNullPointerException и Java NullPointerException - PullRequest
4 голосов
/ 09 октября 2019

Поскольку Kotlin не допускает неявные нулевые значения / переменные, было ли введено KotlinNullPointerException для явного обозначения NPE, вызванного !!? Это единственная цель этого дочернего класса NullPointerException?

1 Ответ

1 голос
/ 10 октября 2019

Начиная с версии 1.3, Котлин выбрасывает KotlinNullPointerException только в случае неудачной проверки оператора !!. Это отличает его от других случаев, когда NullPointerException может быть выброшено, например, при доступе к неинициализированным элементам во время создания класса.

Обратите внимание, однако, что планируется удалить это различие в Kotlin 1.4:все такие неудачные проверки выдают только NullPointerException, поэтому его наследник KotlinNullPointerException станет неиспользованным. Вы можете прочитать больше об этом в объявлении в блоге о выпуске версии 1.3.50: https://blog.jetbrains.com/kotlin/2019/08/kotlin-1-3-50-released/

...