E4127#
类型不是错误类型。
MoonBit 仅允许在函数返回类型中的感叹号 (!
) 之后出现错误类型(使用 type!
关键字定义)。
错误示例#
pub fn may_raise_error() -> Unit!String {
// ^~~~~~
// Error: Type String is not an error type.
raise "Failed" // Error: Type String is not an error type.
}
建议#
您可以将希望抛出的类型包装在错误类型中:
type! StringError String
pub fn may_raise_error() -> Unit!StringError {
raise StringError("Failed")
}