拋出簡單的異常是一種常見的做法,所以我認爲它會被內置到'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? –