美文网首页
Swoole环境下的 异常/错误 处理

Swoole环境下的 异常/错误 处理

作者: 骑蚂蚁上高速_jun | 来源:发表于2020-02-28 11:04 被阅读0次

swoole的Server环境下异常或错误 仅支持手动 try /catch 方式,不支持 set_error_handle & set_exception_handle 全局捕获异常。
swoole的进程Process | 进程池ProcessPool 模型下能使用 set_error_handle & set_exception_handle 捕获异常

try/catch 不仅支持应用层的错误异常,同时对 底层的一些错误也是可以被捕获的,如function、class、method不存在。
如何全局捕获 swoole应用中的错误异常提交[通知]给开发者
1. 在swoole 的每个业务回掉事件中 所有的业务代码都写在 try/catch中。
try{
    // todo
    ... 你的业务代码      
}catch(\Throwable $e){
     $className=get_class($e); // 得到异常类名,根据该类名,可以确定是你的业务是手工抛出异常还是底层错误。
     // todo
      ... 做相应的处理,并将详细错误报错提交开发者
}
  1. 由于swoole的 onWorkerError回掉事件不能获取业务的详细错误,故需要 单独获取你的错误[获取请求中最后一个异常]异常并回收处理。
在 onWorkerStart 事件中设置
register_shutdown_function(function(){
     if($error=error_get_last()){ // 存在错误的时候返回数组
          // todo ... 得到进程中获取到的最后一个错误信息,在此可将错误信息报告给开发者
      } // 
});

相关文章

  • Swoole环境下的 异常/错误 处理

    swoole的Server环境下异常或错误 仅支持手动 try /catch 方式,不支持 set_error_h...

  • Java异常处理

    最近在学Java异常处理,码一下备忘。 异常和错误的区别和处理方式 首先,错误和异常都是程序运行中出现了问题,错误...

  • swoole开发(一) Centos 安装swoole

    1.安装swoole 查看swoole支持功能及安装版本 2.错误处理 2.1安装过程中出现错误: 解决方案: 2...

  • 2.1.3 Python面向对象之异常处理

    点击跳转笔记总目录 Python面向对象之异常处理 一、错误与异常 二、异常处理 三、什么时候用异常处理 一、错误...

  • 异常处理

    异常处理语法: try: 错误!=异常 ...

  • 全局异常处理

    面向切面编程 异常处理分为: 已知错误:前端请求数据类型校验错误等未知错误:代码语法错误、环境报错等 已知错误:在...

  • Error和exception有什么区别?

    Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源...

  • error和exception的区别

    Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源...

  • Python基础入门:从变量到异常处理(3天)--阿里云天池

    异常处理 6 异常处理 异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的...

  • Java 通过异常处理错误(下)

    7.java标准异常 Throwable这个java类用来表示任何可以作为异常被抛出的类.Throwable对象可...

网友评论

      本文标题:Swoole环境下的 异常/错误 处理

      本文链接:https://www.haomeiwen.com/subject/rvpkhhtx.html