gpt4 book ai didi

java - 分类器没有伴生对象,因此必须在这里初始化

转载 作者:行者123 更新时间:2023-12-02 09:34:39 25 4
gpt4 key购买 nike

friend 们,我对 kotlin 和 spring 很陌生。如果记录不存在,我会尝试抛出异常。我不知道如何换行这一行的语法。所以这是我的异常(exception)类:

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;

@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "Record not found")
class NotFound : Exception()

这是我的代码:

fun getUserById(userId: Int): User {
return User(userRepository!!.findById(userId).orElse(ExeptionClass))//So the problem appears here
}

所以它说:分类器 ExeptionClass 没有伴生对象,因此必须在这里初始化

最佳答案

所以你想抛出异常。因此你想使用 orElseThrow() ,而不是 orElse()

因此,您需要通过调用其构造函数来传递创建并返回异常的供应商(即 lambda)。该异常名为 NotFound,而不是 ExceptionClass。所以代码应该是

return User(userRepository!!.findById(userId).orElseThrow { NotFound() })

关于java - 分类器没有伴生对象,因此必须在这里初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57638041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com