Style #21 ============================== 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 possible errors and escape the block when things go wrong, setting the state to something reasonable Possible names: - Constructive - Defensive - Hopeful - Shit happens, life goes on (See http://en.wikipedia.org/wiki/Constructivism_(mathematics))