Difference between throwing an Error or returning next(error) ?

Difference between throwing an Error or returning next(error) ?

In an async task (e.g. in a promise), you need to use next(error) - throw error will NOT cause the error handling middleware to become active.