抛出简单的异常是一种常见的做法,所以我认为它会被内置到'Symfony2'中,但是,执行下面的代码,我会在这个问题的标题中看到部分错误下面尽显。Symfony2 - 正在尝试从名称空间“AppBundle Controller”加载类“Exception”。
if(($result === FALSE) || ($result !== 1)) {
throw new Exception('update user account data function -- ' .
'update return value: ' . $result . ' - ' .
'unable to update your account!');
} // if(($result === FALSE) || ($result !== 1)) ...
此错误告诉我,新的异常类不被支持的Symfony2除非我也把它添加到我的控制器的使用范围,但我不知道要加上的值有使用PHP的这个功能。
有人请告诉我应该在我的中使用区?
在我的代码,基于在https://www.w3schools.com/php/php_exception.asp在w3School的PHP异常页所示的实施例中,$导致变量由学说DBAL 更新方法(http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html#update),它返回更新的行或数设置如果出现错误,则返回FALSE。
我知道,在我的代码更新方法工作,因为大部分时间$结果被指定一个非零返回值,没有出现异常,但有时$结果被分配了一个0,仍没有例外,表示已知存在的行实际上未被更新。
有什么方法可以知道更新失败的原因吗?
在这种情况下,我尝试使用上面的代码抛出异常,但随后的Symfony2显示以下内容:
已尝试从名称空间“的appbundle \控制器”加载类“异常”。 您是否忘记了“使用”声明“Symfony \ Component \ Security \ Acl \ Exception \ Exception”,“Symfony \ Component \ Serializer \ Exception \ Exception”或“Symfony \ Component \ Config \ Definition \ Exception \ Exception”? 500内部服务器错误 - ClassNotFoundException的
-
在SRC /的appbundle /控制器/ BreakinOutAdminController.php在行
1358. 1359. if(($result === FALSE) || ($result !== self::ONE_ROW)) { 1360. 1361. throw new Exception('update user account data function -- ' . 1362. 'update return value: ' . $result . ' - ' . 1363. 'unable to update your account!'); 1364.
1361线在页面Symphony2 didplays突出。
所以两个问题:
我应该把我的使用区什么,所以我可以抛出一个异常,用我自己的消息?
有什么方法可以知道更新失败的原因吗?
谢谢。
考虑使用IDE。在学习php命名空间的基础知识时,它将为您节省大量的麻烦。无论如何:抛出新的\ Exception('Oh'); PS该错误信息与Symfony无关。 – Cerad
谢谢!添加斜杠修复了Exption('自定义文本')问题。 –
但是,我仍然得到了导致我的代码抛出正在工作的异常的条件,** $ result = 0 **。我已经验证该行确实存在,并且不应该有任何锁定。有没有办法知道为什么** update **方法返回0? –