DEFENSIVE PROGRAMMING CITS1001. Lecture outline 2 Why program defensively? Encapsulation Access Restrictions Documentation Unchecked Exceptions Checked.