E0078#
警告名称:result_error_return
函数返回了 Result[T, E],但 E 本身是错误类型。
对于可能失败的 API,优先使用 MoonBit 的错误效应,即 T raise E。只有在成功与失败确实要作为普通数据表示时,才保留 Result 返回类型。此迁移警告默认关闭。
错误示例#
///|
pub(all) suberror ParseError {
ParseError
}
///|
pub fn parse_number() -> Result[Int, ParseError] {
Err(ParseError)
}
修改建议#
返回成功值的类型,并用 raise 声明错误。
///|
pub(all) suberror ParseError {
ParseError
}
///|
pub fn parse_number() -> Int raise ParseError {
raise ParseError
}