Catch multiple specific exception types in Dart with one catch expression

No, there isn't, but you can do this:

try {
  ...
} catch (e) {
  if (e is A || e is B) {
    ...
  } else {
    rethrow;
  }
}

You can only specify one type per on xxx catch(e) { line or alternatively use catch(e) to catch all (remaining - see below) exception types. The type after on is used as type for the parameter to catch(e). Having a set of types for this parameter wouldn't work out well.

try {
  ...
} on A catch(e) {
  ...
} on B catch(e) {
  ...
} catch(e) { // everything else
}