创建错误处理器

实现ErrorHandlerInterface接口namespace App;

use Core\AbstractInterface\ErrorHandlerInterface;

class Test implements ErrorHandlerInterface

{

function handler( $msg,$file = null,$line = null,$errorCode = null,$trace )

{

echo "文件{$file}的第{$line}行,错误:{$msg}";

}

function display($msg,$file = null,$line = null,$errorCode = null,$trace )

{

}

function log( $msg,$file = null,$line = null,$errorCode = null,$trace )

{

}

}

当开启DEBUG.ENABLE的时候,则自定义错误处理有效。

IOC注入

在框架初始化后事件注入:Di::getInstance()->set(SysConst::ERROR_HANDLER,Test::class);

注意,若在接下去的beforeWorker事件中有逻辑错误,则会导致在服务启动前,错误处理类立即被实例化,若在处理函数内,有用到例如redis等连接,则会造成多进程连接共用问题,为避免该情况,可以利用task进程去转换。

例如,发生错误信息的时候,则投递至task进程,在task进程中去获取一个单例的redis连接,来写入错误信息。

PHP8编译swoole出错,swoole自定义错误的方法相关推荐

  1. checkValidity()验证输入信息合法性,自定义错误提示信息方法及误区

    如果input元素中的数据合法则返回true,反之则返回false.inputObj.validationMessage系统会动态赋予默认值,比如type="number" min ...

  2. VS编译duilib项目时候的错误解决方法整理

    @1:找不到Riched20.lib 用everything等软件搜索下磁盘,找到所在的目录添加到vs的库目录即可,我得是C:\Program Files (x86)\Microsoft SDKs\W ...

  3. (转载) VS编译duilib项目时候的错误解决方法整理

    原文地址:http://blog.csdn.net/x356982611/article/details/30217473 @1:找不到Riched20.lib 用everything等软件搜索下磁盘 ...

  4. [转]VS编译duilib项目时候的错误解决方法整理

    原文地址: http://blog.csdn.net/x356982611/article/details/30217473 1:找不到Riched20.lib 用everything等软件搜索下磁盘 ...

  5. flask返回json数据到前端_小白学Flask第六天| abort函数、自定义错误方法、视图函数的返回值...

    点击蓝色字关注我们! 一个正在努力变强的公众号 本文内容: 1. abort函数的使用 2. 自定义错误处理方法 3. 设置响应信息的方法 4. 返回json数据的方法 abort函数的使用 abor ...

  6. 1、ThinkPHP源码学习-致命错误捕获及自定义错误输出

    首先在 Think\Think::start() 静态方法中,使用 register_shutdown_function 函数注册致命错误处理方法. register_shutdown_functio ...

  7. Adobe Media Encoder“编译影片时出错“ GPU渲染错误 错误代码:-1609629695

    Adobe Media Encoder"编译影片时出错" GPU渲染错误 错误代码:-1609629695,通过下面方法处理.

  8. gd mysql错误_php编译gd出错!(已解决)

    php编译gd出错!(已解决) 在32位ubuntu9.04上编译php5.2.12,到gd时make出错: ext/gd/libgd/.libs/gd_png.o: In function `php ...

  9. linux中sqlite3编译时出错,Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决

    交叉编译sqlite到Android平台, Android.mk 文件内容如下: LOCAL_PATH:= $(call my-dir) INCDIR:=/home/android-ndk-r6b/s ...

最新文章

  1. 人工智能之机器学习常见算法
  2. 小型Web应用扫描工具Grabber
  3. 权限管理(shiro框架)
  4. 从零开始学习html(七)CSS样式基本知识
  5. js 按钮(checkbox)控制多个checkbox的选中或不选中问题
  6. java checked异常有那些,java checked exceptions
  7. DOS 网络命令之 ipconfig
  8. 游戏类型区分(做游戏的朋友可以看看)
  9. Solve error: Cannot open include file: 'X11/Xlocale.h': No such file or directory
  10. 【Matlab学习笔记】【函数学习】cat函数
  11. Windows - 修复所有快捷方式的打开方式
  12. 南大lamda实验室失败面经分享
  13. 移动硬盘格式化后如何数据恢复?
  14. npm学习(十七)之node_modules中的bin文件夹
  15. 关于云音乐数据治理的实践与思考
  16. 洛谷P1433 吃奶酪--Java解法(货郎担问题)
  17. 高通获得许可供应芯片,依然难阻华为被小米取代
  18. kvs(Kyoto Visualization System)的初次使用
  19. 以WhatsApp为例,外贸人如何从0到1构建社交营销闭环全流程
  20. python写论文难吗_师兄一年发表5篇CSSCI,原来高手也用套路……

热门文章

  1. this的用法添加样式给tr或者div
  2. 3.1_ 5_动态分区分配算法
  3. springboot前后端分离项目MultipartFile获取前端传的file为null问题
  4. HashSet源码解析(最好先看HashMap的源码解析)
  5. 【剑指offer】面试题07. 重建二叉树(Java)
  6. jsp内置对象--application
  7. springboot导入项目依赖报错_最详细的 Spring Boot 多模块开发与排坑指南
  8. python使用shell命令_python 调用shell命令的方法
  9. 踩内存是什么意思啊_网络资讯:0x0000008e蓝屏代码是什么
  10. 带虚函数的类的sizeof分析