ABSTRACT

B Every single function checks the sanity of its arguments and either returns something sensible when the arguments are unreasonable or assigns them reasonable values.

B All code blocks check for possible errors and escape the block when things go wrong, setting the state to something reasonable, and continuing to execute the rest of the function.