我想在執行捕捉異常:
try {
$em->remove($education);
$em->flush();
} catch(PDOException $e) {
var_dump($e->getMessage());
die;
}
我也試過\Exception
和\Doctrine\ORM\ORMException
,但沒有一次成功。
相反傾銷異常消息我得到我試圖避免受涼異常同樣的錯誤:
[3/3] ForeignKeyConstraintViolationException:執行發生異常 '?DELETE FROM trainee_education WHERE ID ='與 PARAMS [2]:
SQLSTATE [23000]:完整性約束違規:1451不能刪除或 更新父行,外鍵約束失敗 (
trainingexperience
internship
,約束FK_10D1B00C2CA1BD71
外鍵(education_id
)引用。trainee_education
(id
))
我知道爲什麼我的約束失敗,沒有新的東西。但我想要得到一個異常,所以我可以通知用戶他不能刪除一個對象,他之前用它來創建關係。
異常說它的名字是'ForeignKeyConstraintViolationException'而不是'PDOException',你確定第一個擴展了第二個嗎?你應該嘗試捕獲'ForeignKeyConstraintViolationException'並參閱。或者確保嘗試捕獲異常,那麼你可以找出拋出哪個類作爲異常 – smarber
@smarber \ Exception也不起作用,這就是爲什麼我在這裏問了一個問題。謝謝你的意見,我會嘗試,並會讓你知道。 –