我喜欢使用 PHP Error类来使用 throw 来返回,如下所示:throw new Error('Some problem description');遗憾的是,我必须在 CentOS 7.5 上使用PHP 5.4.16。Error 类是在 PHP 7 中引入的。我可以包含一个类来模拟 PHP 7 中 Error 类的行为吗?
2 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
错误和异常具有相同的签名,因此您可以使用后者:
if (!class_exists('Error')) {
class Error extends Exception
{
}
}
根据您的喜好进行调整。例如,您可能想要检查 PHP 版本(为 PHP/5 编写的软件可能已经有一个自定义Error
类)。当然,没有任何本机函数会真正抛出它。
呼唤远方
TA贡献1856条经验 获得超11个赞
PHP 5中没有Error
类,但是这个类和类是一样的Exception
。如果您想生成自定义错误,请使用Exception
throw new Exception('Some problem description');
从功能角度来看,Error
和class没有区别。Exception
我们拥有这两个的唯一原因是出于语义目的。我们不希望 PHP 5 代码在升级到 PHP 7 后使用try() catch(Exception $e)
逻辑捕获致命错误。
- 2 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消