I had previously launched a feature to
.push your errors to Errorception if you liked. It also required you to
throw your errors immediately after the push.
Turns out, many people don't like to
throw their errors. There could be several reasons for not throwing your errors – for example, if you want to handle it gracefully, but still want it logged. Also, some frameworks such an Angular and Ember provide you with Error objects, but throwing them might not be what you want to do.
Now with Errorception, you don't need to
throw error objects anymore. Simply
.push them, and you are done!
I must hasten to add that I would consider this usage
throw, despite all its weirdness, is the best way to halt a problem immediately. If there's an error that you haven't anticipated, chances are you will want to stop your program's execution. If you are going to deal with errors properly, you don't need to throw them, but then you wouldn't have an error in the first place. This makes the feature only useful for a small set of cases. If you are not throwing your error, I hope you know what you are doing.
If your code was already throwing errors after pushing them, you won't have to change a thing. Don't worry – you won't get duplicate errors. In fact, this behaviour (
push, with or without
throw, without duplicates) will be supported forever, because of the reasons in the paragraph above.