Advertisement
Achilles

Handling php errors

Jul 19th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. <?php
  2.  
  3. function calcWidgetsPerDay( $totalWidgets, $totalDays )
  4. {
  5. if ( $totalDays == 0 )
  6. {
  7. trigger_error( "calcWidgetsPerDay(): The total days cannot be zero", E_ERROR);
  8. return false;
  9. }
  10. else
  11. {
  12. return ( $totalWidgets / $totalDays );
  13. }
  14. }
  15.  
  16. function paranoidHandler( $errno, $errstr, $errfile, $errline, $errcontext )
  17. {
  18. $levels = array (
  19. E_WARNING => "Warning",
  20. E_NOTICE => "Notice",
  21. E_USER_ERROR => "Error",
  22. E_USER_WARNING => "Warning",
  23. E_USER_NOTICE => "Notice",
  24. E_STRICT => "Strict warning",
  25. E_RECOVERABLE_ERROR => "Recoverable error",
  26. E_DEPRECATED => "Deprecated feature",
  27. E_USER_DEPRECATED => "Deprecated feature"
  28. );
  29.  
  30. $message = date( "Y-m-d H:i:s - " );
  31. $message .= $levels[$errno] . ": $errstr in $errfile, line $errline\n\n";
  32. $message .= "Variables:\n";
  33. $message .= print_r( $errcontext, true ) . "\n\n";
  34. error_log( $message, 3, "paranoid_errors.log" );
  35. die( "There was a problem, so I've stopped running. Please try again." );
  36. }
  37.  
  38. set_error_handler( "paranoidHandler" );
  39. echo calcWidgetsPerDay ( 10, 0 );
  40. echo "This will never be printed < br / > ";
  41.  
  42. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement