Custom Error Handling
 
 
- Don’t want to just Print or Raise an Error?
- 
- Now you can Handle it as well…
$h->{HandleError} = sub { … };
 
 
 
 
- The HandleError code
- 
- is called just before PrintError/RaiseError are handled
- it’s passed
- the error message string that RaiseError/PrintError would use
- the DBI handle being used
- the first value being returned by the method that failed (typically undef)
 
- if it returns false then RaiseError/PrintError are checked and acted upon as normal
 
- The handler code can
- 
- alter the error message text by changing $_[0]
- use caller() or Carp::confess() or similar to get a stack trace
- use Exception or a similar module to throw a formal exception object