Style #19 ============================== 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