Use #catch() on ES6 Promises for better error handling