Как правильно сделать быстрый провал в Kotlin? - PullRequest
0 голосов
/ 11 марта 2020

Я хочу быстро потерпеть неудачу, если указанная c функция возвращает null. У меня нет ни одного случая, когда значение по умолчанию сделало бы обработку значимой.

Это фрагмент:

        val entityAttributes = entity.optJSONObject("Attributes") ?: run {
            LOG.error("Could not find 'Attribute' entry in Entity object")
            return
        }

Так что, если entity.optJSONObject("Attributes") возвращает значение NULL (что действительно не так, как opt *) ) Я хочу вырваться из области действия функции.

Правильно ли я это сделал? Я довольно новичок в Kotlin и хочу привыкнуть к правильным способам выполнения этих вещей как можно раньше.

1 Ответ

1 голос
/ 11 марта 2020

Вы можете вернуться из функции как раньше, как и раньше. Если ваша функция возвращает что-то, кроме Unit, вам придется вернуть какое-то значение по умолчанию.

Создание исключения позволяет вам выйти из функции, ничего не возвращая, но исключение создаст sh программу, если вы ее не где-то перехватите. Иногда это именно то, что вы хотите, чтобы произошла ошибка, если не должно никогда не произойти, потому что тогда вы поймете ее во время тестирования и сможете исправить ее перед выпуском приложения.

Используйте глобальную error(cause: Any) функцию, и она немедленно вызовет исключение IllegalStateException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...