Spec-Zone.ru › Kotlin 2

Throws

kotlin-stdlib/kotlin/Throws

Требования к платформе и версии: Common (1.4)

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR])
expect annotation class Throws(val exceptionClasses: KClass<out Throwable>)

Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в метод платформы в Kotlin/JVM и Kotlin/Native.

Требования к платформе и версии: JVM (1.4)

actual typealias Throws = kotlin.jvm.Throws

Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в метод JVM.

Пример:

@Throws(IOException::class)
fun readFile(name: String): String {...}

будет преобразовано в

String readFile(String name) throws IOException {...}

Требования к платформе и версии: Native (1.4)

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR])
actual annotation class Throws(val exceptionClasses: KClass<out Throwable>)

Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в метод платформы.

При компиляции в фреймворк Objective-C/Swift функции, не являющиеся suspend, которые имеют эту аннотацию или наследуют её, представляются как методы Objective-C, создающие NSError*, и как методы Swift throws. Представления функций suspend всегда содержат параметр NSError*/Error в обработчике завершения.

Когда функция Kotlin, вызванная из кода Swift/Objective-C, выбрасывает исключение, являющееся экземпляром одного из exceptionClasses или их подклассов, оно передаётся как NSError. Другие исключения Kotlin, возникающие в Swift/Objective-C, считаются необработанными и приводят к завершению программы.

Примечание: функции suspend без @Throws передают только kotlin.coroutines.cancellation.CancellationException как NSError. Функции, не являющиеся suspend и не имеющие @Throws, вообще не передают исключения Kotlin.

Свойства

Классыисключений

Требования к платформе и версии: Common (1.4), Native (1.4)

expect val exceptionClasses: Array<out KClass<out Throwable>>

список классов проверяемых исключений, которые могут быть выброшены функцией.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throws/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API