PHP 异常与错误 —— Throwable

Throwable

官方文档地址: http://php.net/manual/en/class.throwable.php

PHP 支持版本: 7

Throwable 是 PHP 7 中可以用作任何对象抛出声明的基本接口,包括 Expection (异常)和 Error (错误)。

Throwable {
    
  /* 抽象方法 */
  abstract public string getMessage ( void ) // 获取抛出的消息内容

  abstract public int getCode ( void ) // 获取抛出的错误代码

  abstract public string getFile ( void ) // 获取产生异常的文件名

  abstract public int getLine ( void ) // 获取相关行号

  abstract public array getTrace ( void ) // 获取追踪信息,返回数组形式

  abstract public string getTraceAsString ( void ) // 获取追踪信息,返回字符串形式

  abstract public Throwable getPrevious ( void ) // 返回上一个 Throwable

  abstract public string __toString ( void ) // 抛出的对象以字符串形式返回,可以用 echo 打印相应结果

}

 

        try {
            $a =$b+1;
        } catch (\Throwable $th) {
       throw $th; throwError($th
->getMessage()); Log::error($th->getTraceAsString()); write_log($th->getTraceAsString(),'.','special_name'); }

1.没有 try,catch ,会报错,然后记录错误日历(public/log/202312/13_error.log)

2.try,catch,catch里放空,不报错,也不记录错误日志

3.try,catch,catch里放  

throwError($th->getMessage());   或  throw $th;【两个效果一样,推荐后面,原生的】

    会报错,并记录日志(public/log/202312/13_error.log)

4.try,catch,catch里放  

Log::error($th->getTraceAsString());

    不会报错,但记录日志(public/log/202312/13_error.log)

5.try,catch,catch里放  

write_log($th->getTraceAsString(),'.','special_name');

    不会报错,但记录日志(public/log/202312/secial_name_xxxxxx_error.log)

 

posted @ 2023-12-13 10:34  会飞的鹏  阅读(413)  评论(0编辑  收藏  举报