gpt4 book ai didi

php - php7中的错误和异常处理

转载 作者:可可西里 更新时间:2023-11-01 12:17:12 27 4
gpt4 key购买 nike

最近移动到 php7。出现以下错误:

argument 1 passed to MyClass\Throwable::exceptionHandler() must be an instance of Exception, instance of Error given

和各自的类(class)

namespace MyClass;

class Throwable
{
public function exceptionHandler(\Exception $exception)
{
//logic here
}
}

docs 中所述

most errors are now reported by throwing Error exceptions.

这是否意味着我必须向异常处理程序提供 Error 或更一般的 Throwable 实例?

最佳答案

ErrorsExceptions都扩展 Throwable但是错误不会从 Exception 扩展.

因此,您的 ExceptionHandler 必须接受类型为 Throwable 的对象为了接受 Errors .

这是最简单的修复方法,尽管您可能需要重命名 $exception 以使其清晰。

namespace MyClass;

class Throwable
{
public function exceptionHandler(\Throwable $exception)
{
//logic here
}
}

注意:新的Error类不应与 ErrorException 混淆它通常被用作将 PHP 5 错误转换为 Exception 的工具具有语义意义的对象。

http://php.net/manual/en/class.error.php

关于php - php7中的错误和异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35265717/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com