Throws
所在位置是kotlin.Throws
,其相关用法介绍如下。
用法:
@Target([AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR]) annotation class Throws
对于 JVM
此注解指示在编译为 JVM 方法时函数应声明哪些异常。
例子:
@Throws(IOException::class)
fun readFile(name: String): String {...}
将被翻译成
String readFile(String name) throws IOException {...}
常见的
此注解指示当编译为 Kotlin/JVM 和 Kotlin/Native 中的平台方法时,函数应声明哪些异常。
对于原生
此注解指示函数在编译为平台方法时应声明哪些异常。
编译到Objective-C/Swift 框架时,具有或继承此注释的非suspend
函数在Objective-C 中表示为NSError*
生成方法,在Swift 中表示为throws
方法。 suspend
函数的表示在完成处理程序中始终具有 NSError*
/Error
参数
当从 Swift/Objective-C 代码调用的 Kotlin 函数引发异常时,该异常是 exceptionClasses 或其子类之一的实例,它会作为 NSError
传播。其他到达 Swift/Objective-C 的 Kotlin 异常被视为未处理并导致程序终止。
注意:没有 @Throws
的 suspend
函数仅将 kotlin.coroutines.cancellation.CancellationException 传播为 NSError
。没有 @Throws
的非 suspend
函数根本不会传播 Kotlin 异常。
相关用法
- Kotlin Throws.<init>用法及代码示例
- Kotlin Throws用法及代码示例
- Kotlin Triple.<init>用法及代码示例
- Kotlin TestTimeSource用法及代码示例
- Kotlin Triple用法及代码示例
- Kotlin TestTimeSource.<init>用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin reduceRight用法及代码示例
- Kotlin Random.Default用法及代码示例
- Kotlin Byte.inc用法及代码示例
- Kotlin getValue用法及代码示例
- Kotlin Double.dec用法及代码示例
- Kotlin windowedSequence用法及代码示例
- Kotlin contentToString用法及代码示例
- Kotlin groupByTo用法及代码示例
- Kotlin commonPrefixWith用法及代码示例
- Kotlin MatchResult.Destructured用法及代码示例
- Kotlin Delegates.notNull用法及代码示例
- Kotlin ifBlank用法及代码示例
- Kotlin filterNotTo用法及代码示例
- Kotlin getOrPut用法及代码示例
- Kotlin Duration.toString用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.Throws。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。