Spec-Zone.ru › Kotlin 1.7

Исключения

kotlin-stdlib / kotlin / Исключения
Требования к платформе и версии:
@Target([AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR]) annotation class Throws
Требования к платформе и версии: JVM (1.4)
typealias Throws = Throws
Требования к платформе и версии: Native (1.4)
@Target([AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR]) annotation class Throws
Для JVM

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

Пример:

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

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

String readFile(String name) throws IOException {...}
Для Common

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

Для Native

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

При компиляции в Objective-C/Swift фреймворк, функции, имеющие или наследующие эту аннотацию, отображаются как методы, генерирующие 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.

Конструкторы

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

<init>

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

<init>(vararg exceptionClasses: KClass<out Throwable>)

Свойства

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

exceptionClasses

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

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

© 2010–2020 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/index.html

Spec-Zone.ru

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