使用Symfony 2,我创建了一个异常事件监听器来捕获我的异常。它运行良好,在其中我得到了这样的异常代码:
public function onKernelException(GetResponseForExceptionEvent $event)
{
$exception = $event->getException();
$code = $exception->getCode()
....
}
例如,我捕获的异常是树枝模板中的问题。变量不存在。
异常的代码是0。
这是什么意思?
在哪里可以找到不同代码的列表?
谢谢
答案 0 :(得分:6)
异常代码0
是PHP中的默认代码。您可以在\Exception
constructor。
Symfony Exception的主要代码为零,因为它没有被覆盖。并且很难获得所有除外代码的完整列表。
但是,关于您在应用程序中创建的自定义异常,您可以使用所需的值设置其代码,并在事件监听器中处理它们。
例如,您可以使用以下内容:
class ResourceNotFoundException extends \Exception
{
public function __construct($message = '')
{
return parent::__construct($message, 404);
}
}
因此,此异常的例外代码为404
。现在,您的应用程序设计和您希望在事件监听器中执行的特征将引导您进入您的角色。