<init>
<init>(vararg exceptionClasses: KClass<out Throwable>)
Для Common
Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в метод платформы в Kotlin/JVM и Kotlin/Native.
Для Native
Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в платформенный метод.
При компиляции в Objective-C/Swift фреймворк, функции без suspend , имеющие или наследующие эту аннотацию, представлены как методы, возвращающие NSError* в Objective-C и как методы, возвращающие throws в Swift. Представления для suspend функций всегда имеют параметр NSError*/Error в обработчике завершения.
Когда функция Kotlin, вызываемая из кода Swift/Objective-C, выбрасывает исключение, которое является экземпляром одного из exceptionClasses или их подклассов, оно передаётся как NSError. Другие Kotlin исключения, достигающие Swift/Objective-C, считаются необработанными и приводят к завершению программы.
Примечание: suspend функции без @Throws передают только kotlin.coroutines.cancellation.CancellationException как NSError. Функции без suspend и без @Throws вообще не передают Kotlin исключения.
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throws/-init-.html