错误类型支持泛型

不支持的话就太生硬了

1 个赞

这个确实是一个痛点,目前还在计划中

现在beta版本了,还有这个打算吗

是指 error polymorphism 吗?这个目前已经支持了的。
https://docs.moonbitlang.com/en/latest/language/error-handling.html#error-polymorphism

当前只能

suberror MyErr {
  Err1(Int)
  Err2(Bool)
}

但我指的是

suberror MyErr[A] {
  Err(A)
}

想了想,这样子搞会遇到问题。比如f1会抛出MyErr[Int],f2会抛出MyErr[Bool],如果g中同时调用了f1和f2的话,catch的时候就没法区分了。也许需要禁止同时抛出MyErr[Int]和MyErr[Bool]