Defensive programming is a set of techniques for writing more comprehensible, less error-prone code, and gracefully handling unexpected input or rare runtime conditions. Using these tec ...