Hacker News new | ask | show | jobs
by kubanczyk 378 days ago
> The error wrapping(s) produce a log line containing a brief message from each layer in the codebase that expected no errors — subtle difference

Agreed. How I articulate it, often a function is just another layer, does one core thing and one-two extras. I wrap meticulously the errors of the extras. The core errors mainly speak for themselves, so they rarely need any wrapping.

Avoids:

    cannot load config:  cannot load config: cannot load config: file not found
But promotes:

    cannot load config: cannot connect to Configurer: loading client cert: PEM invalid
The latter case reads like a list of plot twists, because it is one. A corresponding 40-line stack trace might be less readable.