我知道我可以使用以下内容在dart中捕获特定的Exception类型:
try {
...
} on SpecificException catch(e) {
...
}
但是有没有办法在线捕获多个特定的异常类型而不是使用多个catch语句?
答案 0 :(得分:4)
您只能为每个on xxx catch(e) {
行指定一种类型,或者使用
catch(e)
以捕获所有(剩余 - 见下文)异常类型。
on
之后的类型用作catch(e)
参数的类型。为这个参数设置一组类型不会很好。
try {
...
} on A catch(e) {
...
} on B catch(e) {
...
} catch(e) { // everything else
}
答案 1 :(得分:3)
不,没有,但是您可以这样做:
try {
...
} catch (e) {
if (e is A || e is B {
...
} else {
rethrow;
}
}