通过重定向错误或异常,我们可以更安全的显示错误信息,一般也用来记录错误和异常日志。

参数可以是全局函数名,也可以是类中的方法,非静态方法通过数组传递类名和方法名进去, 静态方法直接带命名空间和类名,看代码

class myErrorClass{

  public function funError($errno, $errstr, $errfile, $errline){

    die($errstr);

  }

  public static function staticError($errno, $errstr, $errfile, $errline){

    die($errstr);

  }

}
//非静态方法绑定
set_error_handler(array('myErrorClass','funError'));
//静态方法绑定
set_error_handler('myErrorClass::staticError');
set_error_handler('funError');
set_exception_handler('funException'); function funError($errno, $errstr, $errfile, $errline) {
die("[$errno] $errstr ".$errfile." 第 $errline 行.");
} function funException($e) {
$error = array();
$error['message'] = $e->getMessage();
$trace = $e->getTrace();
if('E'==$trace[0]['function']) {
$error['file'] = $trace[0]['file'];
$error['line'] = $trace[0]['line'];
}else{
$error['file'] = $e->getFile();
$error['line'] = $e->getLine();
}
$error['trace'] = $e->getTraceAsString();
die($error['message'].$error['file']." 第 ".$error['line']." 行."):
}

最新文章

  1. 【USACO 2.3】Cow Pedigrees(DP)
  2. 点击div折叠
  3. 这个Glance的界面该怎么看出问题,为什么状态是SOCKT?
  4. WebApi简单使用
  5. python练习程序(批量重命名)
  6. erlang学习笔记之基础语法
  7. webdynpro 下拉列表控件
  8. python3中str的函数
  9. Ubuntu下Git的使用之创建版本库
  10. PRINCE2的价值是什么?
  11. 树莓派安装ubuntu-server,配置镜像,安装python/mysql/samba记录
  12. BlackArch安装(译文)
  13. windows使用im4java 提示FileNotFoundException
  14. thingsboard填坑之路
  15. js动态控制表单表格
  16. SQL Server中的Merge关键字(转载)
  17. Cobbler自动化批量安装Linux操作系统 - 运维总结
  18. python----多继承C3算法
  19. Redis set 数据类型
  20. Python多进程并发操作进程池Pool

热门文章

  1. 计算机操作系统学习(一) Linux常用指令(随时更新)
  2. mcu运行时间估算
  3. 06--Java--Scanner类读入控制台
  4. 一百一十一、SAP的OO-ALV之五,显示ALV表格
  5. 八十二、SAP中的ALV创建之一,新建一个程序
  6. centos7-虚拟机 主机 互通 静态ip网络设置
  7. 前端第二篇---前端基础之CSS
  8. Docker 搭建开源 CMDB平台 “OpsManage” 之 Redis
  9. linux下的 sudo ln -s 源文件 目标文件
  10. s5pc100开发板linux内核移植