自己弄的一个错误接管类:

<?php

//----------------------------------
// Leephp 错误接管类
// 2017-07-06
// PengchongLee
//---------------------------------- // error_reporting — 设置应该报告何种 PHP 错误
error_reporting(0); class Erro
{
public function __construct()
{
$this->iserr();
}
public function iserr()
{
// set_exception_handler — 设置用户自定义的异常处理函数
set_exception_handler([$this,'ex']); // set_error_handler — 设置用户自定义的错误处理函数
set_error_handler([$this,'err']); // register_shutdown_function — 注册一个会在php中止时执行的函数
register_shutdown_function( [ $this,'last_error' ]);
} // 异常接管
public function ex($ex)
{
// 获取错误异常信息
$message = $ex->getMessage();
// 获取错误异常代码
$code = $ex->getCode();
// 获取错误异常文件
$file = $ex->getFile();
// 获取错误异常文件行数
$line = $ex->getLine();
} // 错误接管
public function err( $code, $message,$file ,$line )
{
// 记录日志
$this->errlog( $code, $message,$file ,$line );
} // 脚本结束前获取最后错误
public function last_error()
{
// error_get_last — 获取最后发生的错误
$last = error_get_last();
     // set_error_handler有些错误是无法获取的,所以价格判断
if($last['type']==1 || $last['type']==4 ||$last['type']==16 ||$last['type']==64 ||$last['type']==128){
            $this->errlog( $last['type'],$last['message'],$last['file'],$last['line'] );
        }
} // 错误信息收集并记录 (参数传输的顺序不一样,参数还不一样)
public function errlog( $code, $message,$file ,$line )
{
// 拼接错误信息
$errstr = date('Y-m-d h:i:s')."\r\n";
$errstr .= ' 错误级别:'.$code."\r\n";
$errstr .= ' 错误信息:'.$message."\r\n";
$errstr .= ' 错误文件:'.$file."\r\n";
$errstr .= ' 错误行数:'.$line."\r\n";
$errstr .= "\r\n"; // error_log — 发送错误信息到某个地方
error_log($errstr,3,__DIR__.'/error.log');
} }

[php] 简单的实现一个错误接管类的更多相关文章

  1. SpringMVC form:form的一个错误(没有传到前台绑定类)

    SpringMVC form:form的一个错误(没有传到前台绑定类) 报错信息: Neither BindingResult nor plain target object for bean nam ...

  2. PageRank简单实现中的一个错误

    在我的一篇博客PageRank中,在5.1 算法实现中简单实现部分原本是有一个错误的.这个错误也体现出我当时对PageRank算法有理解上的偏差. 这是个什么样的错误呢?是这样的: 简单实现中计算每个 ...

  3. 记录Python类与继承的一个错误

    今天在学python的类与继承的时候遇到一个错误,原来是自己在ctrl+c  ctrl+v的时候漏了一个括号 class Car(): def __init__(self,make,year,mode ...

  4. 【Objective-C】0-第一个OC的类

    OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中, ...

  5. 第一个OC的类

    来源:http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的类 三.第一个类 ...

  6. 【Objective-C】05-第一个OC的类

    OC是一门面向对象的语言,因此它也有类.对象.静态\动态方法.成员变量的概念.这讲就来创建第一个OC的类. 一.语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类:在OC中, ...

  7. 关于Java中的继承和组合的一个错误使用的例子

    [TOC] 关于Java中的继承和组合的一个错误使用的例子 相信绝大多数人都比较熟悉Java中的「继承」和「组合」这两个东西,本篇文章就主要就这两个话题谈论一下.如果我某些地方写的不对,或者比较幼稚, ...

  8. 一个使用CSocket类的网络通信实例

    http://www.cppblog.com/changshoumeng/archive/2010/05/14/115413.html 3.8 一个使用CSocket类的网络通信实例 本例采用CSoc ...

  9. JMeter一个错误the target server failed to respond--JMeter坑

    问题:1.在测试一个http景象,特别是集波动TPS时刻,出现了一个错误.它现在是一个必须错误(压力顺利时却零星的错误,甚至很少见): 每次必现错误(開始一直怀疑是网络或程序的问题)   2.失败事务 ...

随机推荐

  1. python3.4连接mysql数据库的方法

    python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mys ...

  2. Sprinboot 整合 RabbitMQ,RabbitMQ 消息重试机制

    当消费者消费消息的时候,出现错误,RabbitMQ 本身会有

  3. Java工程师常用Linux命令

    本文所列的Linux常用命令包含:文件相关(目录操作,内容查看,查找与比较,压缩与解压),进程管理,网络操作,系统管理,性能监测与优化,Java常用工具多个方面概述. 文件目录基本操作 ls 命令用来 ...

  4. 数据库SQL实战(一)

    一. 1. 查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`f ...

  5. JS 剑指Offer(三) 替换字符串中的空格

    请实现一个函数,把字符串 s 中的每个空格替换成"%20". 实现这个函数的方法很简单,在JS中可以直接应用正则表达式,代码如下 直接将全局中的space换成%20,一行代码搞定 ...

  6. JVM中垃圾回收机制如何判断是否死亡?详解引用计数法和可达性分析 !

    因为热爱,所以坚持. 文章下方有本文参考电子书和视频的下载地址哦~ 这节我们主要讲垃圾收集的一些基本概念,先了解垃圾收集是什么.然后触发条件是什么.最后虚拟机如何判断对象是否死亡. 一.前言   我们 ...

  7. E - 不爱学习的lyb HDU - 1789(贪心策略)

    众所周知lyb根本不学习.但是期末到了,平时不写作业的他现在有很多作业要做. CUC的老师很严格,每个老师都会给他一个DDL(deadline). 如果lyb在DDL后交作业,老师就会扣他的分. 现在 ...

  8. IntelliJ IDEA 激活码 [已购买,分享给码友]

    一.前言 笔者在网上找了一圈,各种方法都试过了,之前那种在网上随便找个注册码,过了一段时间就被封了,想了想还是经常用的和朋友一起购买了,方便日后使用 二.下载最新的 IDEA 其实也可以从老版本直接升 ...

  9. 1011 World Cup Betting (20 分)

    With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...

  10. Blocked Billboard II题解--模拟到崩溃的模拟

    前言 比赛真的状态不好(腐了一小会),导致差点爆0. 这个题解真的是在非常非常专注下写出来的,要不然真的心态崩. 题目 题目描述 奶牛Bassie想要覆盖一大块广告牌,她在之前已经覆盖了一小部分广告牌 ...