您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php 错误处理及实现 - CSDN博客

2024/3/31 20:58:50发布13次查看
这篇文章介绍的内容是关于php的错误处理及实现,现在分享给大家,有需要的可以朋友参考一下
1.php的错误,警告,异常处理如何实现,那些函数用于处理对应的错误
php 异常提示分为三类 error/warning/notice   
错误补充: 
  fatal error:致命错误(脚本终止运行)
    e_error         // 致命的运行错误,错误无法恢复,暂停执行脚本
    e_core_error    // php启动时初始化过程中的致命错误
    e_compile_error // 编译时致命性错,就像由zend脚本引擎生成了一个e_error
    e_user_error    // 自定义错误消息。像用php函数trigger_error(错误类型设置为:e_user_error)
    e_recoverable_error //可被捕捉的致命错误。 它表示发生了一个可能非常危险的错误,但是还没有导致php引擎处于不稳定的状态。
  parse error:编译时解析错误,语法错误(脚本终止运行)
    e_parse  //编译时的语法解析错误
警告补充:警告错误(仅给出提示信息,脚本不终止运行)
    e_warning         // 运行时警告 (非致命错误)。
    e_core_warning    // php初始化启动过程中发生的警告 (非致命错误) 。
    e_compile_warning // 编译警告
    e_user_warning    // 用户产生的警告信息
异常通知补充:通知错误(仅给出通知信息,脚本不终止运行)
e_notice      // 运行时通知。表示脚本遇到可能会表现为错误的情况.
    e_user_notice // 用户产生的通知信息。
php错误处理实现: 
register_shutdown_function('funcname')   // 参数是需要捕获错误的函数名称,但是register_shutdown_function,只能捕获运行时候的致命错误,不能捕获解释时的执行错误,因为它时程序执行完成之后执行的函数(比如语法错误,这种运行时就会产生的错误时不会被捕捉的)
set_error_handler(‘funcname’)  //参数是需要捕获的回调的函数名,区别于register_shutdown_function,它是在函数运行期间捕获到错误
当目标文件执行遇到错误的时候,系统会回调指定函数:
例子:
<?php register_shutdown_function( "fatal_handler" ); set_error_handler("error_handler"); define('e_fatal', e_error | e_user_error | e_core_error | e_compile_error | e_recoverable_error| e_parse ); //获取fatal error function fatal_handler() { $error = error_get_last(); if($error && ($error["type"]===($error["type"] & e_fatal))) { $errno = $error["type"]; // $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_handler($errno,$errstr,$errfile,$errline); } } //获取所有的error function error_handler($errno,$errstr,$errfile,$errline){ $str=<<<eof "errno":$errno "errstr":$errstr "errfile":$errfile "errline":$errline eof; //获取到错误可以自己处理,比如记log、报警等等 echo $str; } //error_get_last() 捕获到的执行错误结果 //error_clear_last() 清除最后一次产生的错误信息 //上面两者可以捕获所有错误,警告, 异常,但作性能考虑,不建议使用其捕获警告异常
相关推荐:
浅析php错误处理,自动加载,栈堆内存以及运行模式
php错误处理实例方法
php错误与异常调试视频教程资源分享
以上就是php 错误处理及实现 - csdn博客的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product