我正在使用PHP 5.4.16运行WAMSERVER 2.4(32位),这是一个Laravel 3项目。
在我期望失败的try
块中,我提交了一个重复行,用于插入唯一性约束。
它没有处理catch
中的异常,而是从try
块中抛出“未处理的异常”错误并失败。
// This throws an error if the relationship already exists.
// If that happens, just pass it to the logger and move on.
try {
$entity->$pivotMethod()->attach( $rowData->get_key(), $ext );
} catch (Exception $e) {
$err = $e->getMessage()."\n";
error_log($err);
}
这是它抛出的错误: 未处理的例外
消息:
SQLSTATE [23000]:完整性约束违规:1062重复条目'695d7f0b-53b8-11e3-93fc-c12677e410a5-0-0-14-'用于关键'独特'
SQL:INSERT INTO
person_contact
(person_uuid
,phone_id
)VALUES(?,?)
绑定:数组(0 =>'695d7f0b-53b8-11e3-93fc-c12677e410a5',1 => 14)位置:第263行的C:\ path \ to \ laravel \ 3_2_13 \ database \ connection.php
答案 0 :(得分:8)
根据您的评论,这是您的问题
namespace Something;
class myClass {
function method() {
try {
$entity->$pivotMethod()->attach( $rowData->get_key(), $ext );
} catch (Exception $e) {
$err = $e->getMessage()."\n";
error_log($err);
}
}
}
在这种情况下,你输入的是你正在捕捉异常,但你没有指定范围,所以PHP假设你正在捕捉\Something\Exception
修复非常简单。添加\
告诉PHP捕获基础Exception
类
catch (\Exception $e)