我正在学习Dart语言,它使用DartPad中的dart代码。在使用on子句作为例外时,它会抛出隐藏的异常。

发布于 2018-11-26 06:43:47
这里的问题是,dart2js是DartPad的基础,当您将整数除以零时,它不会抛出一个IntegerDivisionByZeroException (实际上应该命名为DivisionByZeroError,但实际上不是)。它抛出,但它使用的是UnsupportedError,否则这是一个很好的选择,这样的错误。
Dart2js并没有错。语言规范和num.~/的库文档都没有说它应该抛出特定的错误类型。但是,它与其他编译器不一致,因此我们可能希望将其考虑在内。
发布于 2022-04-23 05:16:16
您只需尝试将收到的错误替换为IntegerDivisionByZeroException,即,
void main(){
try {
int result = 12 ~/ 0;
print (result);
} on UnsupportedError { print("hua solve"); }
finally { print("cool!"); }
}https://stackoverflow.com/questions/53467602
复制相似问题