better error guards

Introducing an `error` event will make things like `server.on( "**", ... )` not work as expected.