Недавно мне стало интересно, какой класс мне наследовать в Kotlin, если я хочу создать исключение для конкретного приложения.
Я заметил, что могу наследовать оба: собственный тип Котлина Exception
и java.util.Exception
.
Итак, я искал ответы: Exception
или java.lang.Exception
и Exception
или RuntimeException
(поскольку в Kotlin нет проверенных исключений, в чем разница)? Относительно второго вопроса: я чувствую, что все еще лучше использовать RuntimeException
, если в будущем код Kotlin может быть вызван из Java (пожалуйста, исправьте меня, если я ошибаюсь).
Относительно Exception
Я обнаружил, что версия Kotlin - не что иное, как typealias
на оригинальной Java Exception
:
@ SinceKotlin ("1.1") публичные фактические typealias Exception = java.lang.Exception
Какова цель иметь этот typealias? Единственное преимущество, которое я вижу, это то, что вам не нужно import java.lang.Exception
, что делает ваш исходный код более понятным. Хотите знать, есть ли другая мотивация за такой typeasing?