<?php
/**
* debug 两个操作获得回溯,一个直接输出,一个不输出有返回值
*/
// debug_backtrace(); 以数组形式返回,返回详细调用流程,附带参数,方法,行号,文件位置
// debug_print_backtrace(); 以简单的方式输出,包含方法名,附带参数,什么文件,第几行
//function a($condition){
// echo $condition;
// print_r(debug_backtrace());
// debug_print_backtrace();
//}
//function b($condition){
// a($condition);
//}
//function c(){
// b("hello", "word");
//}
//c();
/**
* error 错误操作
*/
// error_get_last(); 获取最后一条发生的错误 返回内容[ type | 错误类型 message | 错误内容 file | 错误文件 line | 错误行号s]
// error_clear_last(); 清除最后一条发生的错误,使error_get_last()获取不到错误
// error_log(); // function error_log ($message, $message_type = null, $destination = null, $extra_headers = null) {} 将错误日志输出到指定位置
// error_reporting(0); 设置报告那种php错误 0 屏蔽所有错误 详细参数请查看文档
// set_exception_handler(); 设置用户自定义的异常处理函数 接收值为一个数组 throw new Exception()抛出的异常
// set_error_handler(); 设置用户自定义的错误处理函数 function set_error_handler ($error_handler, $error_types = E_ALL | E_STRICT) {} $error_handler需要处理的方法 接收
// errno | 包含了错误的级别 errstr | 包含了错误的信息 errfile | 包含了发生错误的文件名 errline | 包含了错误发生的行号 errcontext(7.2以上废弃) | 会包含错误触发处作用域内所有变量的数组
// restore_error_handler() 还原之前的错误处理函数
// restore_exception_handler() 还原之前的异常处理函数
// echo $a;
// $array = error_get_last();
// print_r($array);
// error_log("错误信息:测试错误", 3, "D:/error.log");
//function unserialize_handler($errno, $errstr, $err)
//{
// echo "Invalid serialized value.\n";
// echo $errno.'<br>';
// echo $errstr;
//}
//
//set_error_handler('unserialize_handler');
//
//restore_error_handler();
//echo $a;
//function exception_handler($exception) {
// echo "Uncaught exception: " , $exception->getMessage(), "\n";
//}
//set_exception_handler('exception_handler');
//throw new Exception('Uncaught Exception');
//function doFunction($var) {
// if(is_numeric($var)) {
// /* do some stuff*/
// } else {
// trigger_error('var must be numericssssssssssssssssss');
// }
//}
//doFunction("test");
// trigger_error 产生一个用户级别的 error/warning/notice 信息
// user_error trigger_error的别名
// trigger_error('var must be numeric');
php错误总结
最新推荐文章于 2021-03-09 18:07:27 发布