kotlin - 如何为 Kotlin 中的扩展函数抛出的异常提供自定义异常消息?

标签 kotlin

我有以下 Kotlin 代码:

fun getAdminUser(): User {
    return getAllUsers().first { it.userType == ADMIN } as User
}

如果 getAllUsers() 没有与指定谓词匹配的元素,则会抛出 NoSuchElementException。我对此异常感到满意,但想覆盖异常消息以在失败时提供更多上下文。是否可以在 Kotlin 中执行无需 try-catch 的操作?

最佳答案

您可以使用 firstOrNull 函数来实现这一点。

fun getAdminUser(): User {
    return (getAllUsers().firstOrNull { it.userType == ADMIN } as? User) ?: throw NoSuchElementException("Element not found")
}

关于kotlin - 如何为 Kotlin 中的扩展函数抛出的异常提供自定义异常消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62769457/

相关文章:

kotlin - 如何在 Kotlin 协程中使用阻塞(I/O 绑定(bind))API?

inheritance - 继承自 Java 类的 Kotlin 类是否也继承自 Any?

android - 如何在使用导航组件导航时保存 fragment 状态

java - 有没有一种方法可以有效地比较任意对象的字段

database - Android Room数据库: How to embed multiple entities

android - 如何将值传递给viewPagerAdapter?

arrays - 如何用Kotlin检查2D数组中是否存在值?

android - 测试 Android Compose State 值

android - 如何在Android上的NavigationUI组件中动态更改默认选项卡

kotlin - 处理多个对象实例的最佳方式