then( (erg){ callHandler(erg);}, onError: (e){ print(e); }); 3) catchError allows you to chain the error handling after a series of futures. First its important to understand that then calls can be chained, so a then call which returns a Future can be chained to another then call.