PHP 5.4 是否有一些错误 class 的替代品?
Is there some Error class replacement for PHP 5.4?
我喜欢使用 PHP Error class 到 return 像这样使用 throw:
throw new Error('Some problem description');
遗憾的是,我必须在 CentOS 7.5 上使用 PHP 5.4.16。错误 class 是在 PHP 7.
中引入的
有没有我可以包含的 class 来模拟来自 PHP 7 的错误 class 的行为?
PHP5中没有Error
class,但是这个class和Exception
class是一样的。如果要生成自定义错误,请使用 Exception
throw new Exception('Some problem description');
Error
和Exception
class从功能上来说没有区别。我们拥有这两者的唯一原因是出于语义目的。我们不希望 PHP 5 代码在升级到 PHP 7 后使用 try() catch(Exception $e)
逻辑捕获致命错误。
Error and Exception 具有完全相同的签名,因此您可以使用后者:
if (!class_exists('Error')) {
class Error extends Exception
{
}
}
根据自己的喜好进行调整。例如,您可能想要 check PHP version(为 PHP/5 编写的软件可能已经具有自定义 Error
class)。当然,没有任何原生函数会真正抛出它。
我喜欢使用 PHP Error class 到 return 像这样使用 throw:
throw new Error('Some problem description');
遗憾的是,我必须在 CentOS 7.5 上使用 PHP 5.4.16。错误 class 是在 PHP 7.
中引入的有没有我可以包含的 class 来模拟来自 PHP 7 的错误 class 的行为?
PHP5中没有Error
class,但是这个class和Exception
class是一样的。如果要生成自定义错误,请使用 Exception
throw new Exception('Some problem description');
Error
和Exception
class从功能上来说没有区别。我们拥有这两者的唯一原因是出于语义目的。我们不希望 PHP 5 代码在升级到 PHP 7 后使用 try() catch(Exception $e)
逻辑捕获致命错误。
Error and Exception 具有完全相同的签名,因此您可以使用后者:
if (!class_exists('Error')) {
class Error extends Exception
{
}
}
根据自己的喜好进行调整。例如,您可能想要 check PHP version(为 PHP/5 编写的软件可能已经具有自定义 Error
class)。当然,没有任何原生函数会真正抛出它。