AggregateError
One of the big themes of the web these days is concurrency, which leads to accomplishing tasks asynchronously. In doing so, the possibility of multiple errors can occur. Instead of providing a generic error, optimally you’d provide a wealth of error information. TheAggregateError
error lets developers throw multiple errors within one single Error
. Let’s see how it works.
To throw a single error that represents multiple errors, let’s employ AggregateError
:
const error = new AggregateError([ new Error('ERROR_11112'), new TypeError('First name must be a string'), new RangeError('Transaction value must be at least 1'), new URIError('User profile link must be https'), ], 'Transaction cannot be processed')
Throwing an AggregateError
gets you the following information:
error instanceof AggregateError // true error.name // 'AggregateError' error.message // 'Transaction cannot be processed' error.errors // The array of errors
The AggregateError
is incredibly useful when validating multiple sets of data; instead of throwing one error at a time, grouping them into one is ideal! AggregateError
would be really useful in a Promise.any
situation. Communicative, information-rich errors FTW!
Designing for Simplicity
Before we get started, it’s worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech…
HTML5 Datalist
One of the most used JavaScript widgets over the past decade has been the text box autocomplete widget. Every JavaScript framework has their own autocomplete widget and many of them have become quite advanced. Much like the placeholder attribute‘s introduction to markup, a frequently used…
Fading Links Using jQuery: dwFadingLinks
UPDATE: The jQuery website was down today which caused some issues with my example. I’ve made everything local and now the example works. Earlier this week, I posted a MooTools script that faded links to and from a color during the mouseover and mouseout events.
[ad_2]
Source link