The docs recommend using try-catch
for error handling, just as you would in synchronous code https://dart.dev/libraries/async/async-await#handling-errors
Additionally, if you need code to execute regardless of whether an exception occurs, wrap it in finally
block https://dart.dev/language/error-handling#finally
Example:
try{
var result = await someFuture();
var result2 = await someFuture2();
var result3 = await someFuture3();
}catch(e){
print('Error: $e');
}finally{
print('Done')
}