Scr*_*cco 3 cakephp cakephp-2.0 cakephp-2.3
我在这里不知所措.我需要知道在违反完整性约束的情况下如何处理错误消息.
意思是我想向用户显示一些有意义的消息,而不是显示错误消息
Error: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails
Run Code Online (Sandbox Code Playgroud)
我需要捕获这些数据库错误,只显示像说的消息
The item you are trying to delete is associated with other records
Run Code Online (Sandbox Code Playgroud)
我们如何处理这个问题.
我在这里找到了一个推荐:https://stackoverflow.com/a/8842963/576523
但我不想做计数检查.
当我们使用debug_kit插件时,我们可以看到他们已经在下面捕获了这些值
变量选项卡.我需要一种方法来执行此操作或从debug_kit插件访问这些数据.
Thankz.
你也可以用try-catch
try {
$this->Item->delete();
} catch (Exception $e) {
$error = 'The item you are trying to delete is associated with other records';
// The exact error message is $e->getMessage();
$this->set('error', $error);
}
Run Code Online (Sandbox Code Playgroud)
如果您只想捕获特定的异常,请在 catch 块中指定异常类。希望它能解决您的问题。
try {
$this->Item->delete();
} catch (\PDOException $e) {
$error = 'The item you are trying to delete is associated with other records';
//exact error message $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |