看文档 moonbit 目前有内置的 Result 类型,但是没有类似于除零的 panic 相关的描述,
是否可以通过 try/catch 进行捕捉?
就像 ocaml 中有返回值 result 类型,也有 try/with 语句结构捕捉异常一样
看文档 moonbit 目前有内置的 Result 类型,但是没有类似于除零的 panic 相关的描述,
是否可以通过 try/catch 进行捕捉?
就像 ocaml 中有返回值 result 类型,也有 try/with 语句结构捕捉异常一样
你好,目前是没有try catch的。MoonBit的异常处理使用Result[T,E]
、Option[T]
, 配合问号操作符,可以实现优雅的异常处理。
例如下面是try.moonbitlang.cn上019_hindley_milner这个例子里的代码:
fn next(self: Tokenizer) -> Result[Token, String] {
let tok = self.peek()?
self.cur_token = self.do_next()?
Ok(tok)
}
对于除零一类的错误,目前暂时还没有异常的处理方式,我们后续会着手这方面的设计。