I'll Be Backend
Principles

Error handling

Let failures reach the code that can handle them, without every caller checking.

Pick your language

When to use it

Use it when

A failure starts deep in a call chain, and only a caller near the top knows how to answer it.

Skip it when

The direct caller answers the failure, like a lookup that often finds nothing. No chain to skip, so a nullable result and an elvis do it. Distance decides, not rarity.

Spot it by

Constants like minus one for failure, if (code != OK) return code passed up the chain, or an else branch that treats unknown codes as success.