Solution 1:

  1. Dart is an optional typed language. So the type of e is not required.

  2. you have to use the following syntax to catch only SomeException :

try {
  // ...
} on SomeException catch(e) {
 //Handle exception of type SomeException
} catch(e) {
 //Handle all other exceptions
}

See catch section of Dart: Up and Running.

Finally catch can accept 2 parameters ( catch(e, s) ) where the second parameter is the StackTrace.