Heim  >  Artikel  >  Backend-Entwicklung  >  php 自定义错误处理函数代码一例

php 自定义错误处理函数代码一例

WBOY
WBOYOriginal
2016-07-25 09:00:021152Durchsuche
  1. function myErrorHandler($errno, $errstr, $errfile, $errline){

  2. if(!(error_reporting() &$errno)){return;}
  3. switch ($errno){
  4. case E_USER_ERROR:
  5. echo "My ERROR [$errno] $errstr
    ";
  6. echo "错误行:$errline 在文件:$errfile之中
    ";
  7. echo " PHP版本: " .PHP_VERSION ." (" .PHP_OS .")
    ";
  8. break;
  9. case E_USER_WARNING:
  10. echo "My WARNING [$errno] $errstr
    ";
  11. break;
  12. case E_USER_NOTICE:
  13. echo "My NOTICE [$errno] $errstr
    ";
  14. break;
  15. default:
  16. echo "Unknown error type: [$errno] $errstr
    ";
  17. break;
  18. }
  19. return true;
  20. }
  21. function trigger_test($age){//抛出错误的测试函数

  22. if($age 999) trigger_error("年龄不合法:$age岁", E_USER_ERROR);
  23. if($age if($age > 40 && $age }
  24. //如果只是简单统一地处理错误:
  25. $errorHandler = set_error_handler("myErrorHandler");
  26. trigger_test(1000);//会抛出一个error级的错误
  27. function myError($errno, $errstr, $errfile, $errline){
  28. print_r(func_get_args());
  29. //具体处理方法
  30. }
  31. function myWarning($errno, $errstr, $errfile, $errline){
  32. print_r(func_get_args());
  33. //具体处理方法
  34. }
  35. function myNtice($errno, $errstr, $errfile, $errline){

  36. print_r(func_get_args());
  37. //具体处理方法
  38. //by http://bbs.it-home.org
  39. }
  40. //如果要分别处理不同错误级别:

  41. set_error_handler('myError',E_USER_ERROR);
  42. set_exception_handler('myWarning',E_USER_WARNING);
  43. set_exception_handler('myNtice',E_USER_NOTICE);
  44. trigger_error('故意抛出个错误,还是很严重的哪一种!',E_USER_ERROR);
复制代码

有关trigger_error的介绍,请参考php手册中:http://bbs.it-home.org/shouce/php5/function.trigger-error.html 这部分的内容。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn