Style #20
Constraints:
-
Every single procedure and function checks the sanity of its arguments and either returns something sensible when the arguments are unreasonable or assigns them reasonable values
-
All code blocks check for all possible errors and escape the block when things go wrong
Possible names:
- Defensive
- Pessimistic
- Never trust the caller nor the callee