Prerequisites
Issue
Why does Fastify allow to override setErrorHandler without throwing an error?
This behavior can easily mislead users into thinking they can register multiple error handlers, or unintentionally override an existing one, leading to bugs:
const app = fastify()
app.setErrorHandler(() => {
console.log('Free some resources...') // Never executed, memory leaks
})
.setErrorHandler(() => console.log('overridden'))
app.get('/', () => { throw new Error('argh') })
await app.inject({ url: '/' }) // Logs: "overridden"
Should I push a PR?