gpt4 book ai didi

laravel - 为什么我的异常没有被 Laravel 的 destroy 方法捕获?

转载 作者:行者123 更新时间:2023-12-02 08:30:06 24 4
gpt4 key购买 nike

为什么我的异常没有被捕获?

    try {
\Account::destroy($id);
return Redirect::to("/manager/account")
->with("success_message", "Item excluido com sucesso");
} catch (Exception $e) {
return Redirect::to("/manager/account/{$id}/edit")
->with("error_message", "Erro ao excluir item");
}

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (imob_io.users, CONSTRAINT users_account_id_foreign FOREIGN KEY (account_id) REFERENCES accounts (id)) (SQL: delete from accounts where id = 2)

最佳答案

当前您正在捕获当前命名空间内的类 Exception。相反,您应该引用全局类型 \Exception:

catch (\Exception $e){
return Redirect::to("/manager/account/{$id}/edit")
->with("error_message", "Erro ao excluir item");
}

我还建议您缩小范围,而不是只捕获每个异常。例如,您可以捕获 QueryException,它将因违反约束等而被抛出。

catch(\Illuminate\Database\QueryException $e)

关于laravel - 为什么我的异常没有被 Laravel 的 destroy 方法捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27877312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com