"catching an error", and handling it -- ideally would involve invoking an alternate method to do what you were trying to do
have programs that collect status information, and if something is wrong, they take steps to fix it -- progressively, as well as send email at increasing intervals
Well, In my example you see 1) a typo 2) "confess" method.
This means I catch programmer's error (i.e. it's an assertion).
you are trying to change the nature of the discussion
Okay, show me your real code where you need work with undefs..