【问题标题】:PHP Fatal error : Cannot throw objects that do not implement ThrowablePHP 致命错误:无法抛出未实现 Throwable 的对象
【发布时间】:2018-06-30 01:06:17
【问题描述】:

我收到一个错误

PHP 致命错误:未捕获错误:无法抛出未实现 Throwable 的对象

我正在尝试抛出异常

if ($err){ 
    throw new ShopException($err, $errno);
}

以及处理的异常类

class ShopException{
    protected $error;
        protected $errno;
    function __construct($error,$errno)
        {
            $this->error= $error;
            $this->errno= $errno;


        }
        function geterror() { return $this->error; }

 }

任何帮助将不胜感激

【问题讨论】:

  • 你需要shopException extends Exception
  • @musicliftsme 谢谢,当添加 extends Exception 时,页面不起作用,我收到错误此类 Exception not found.

标签: php exception exception-handling throw


【解决方案1】:

请阅读异常层次结构 - https://www.php.net/manual/en/class.exception.php 正如错误所说,您的类 ShopException 需要实现 Throwable 接口。 您还可以从实现 Throwable 的标准异常类之一继承。 如果使用命名空间,则必须在异常类名前添加反斜杠“\”。

class ShopException extends \Exception { ...}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多