gpt4 book ai didi

PHP:尝试/捕获失败

转载 作者:可可西里 更新时间:2023-11-01 06:33:02 24 4
gpt4 key购买 nike

我正在使用 PHP 5.4.16 运行 WAMSERVER 2.4(32 位),这是一个 Laravel 3 项目。

在我预计会失败的 try block 中,我提交了一个重复行以针对唯一性约束进行插入。
它不是在 catch 中处理异常,而是从 try block 中抛出一个“未处理的异常” 错误并失败。

    // 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]: Integrity constraint violation: 1062 Duplicate entry '695d7f0b-53b8-11e3-93fc-c12677e410a5-0-0-14-' for key 'unique'

SQL: INSERT INTO person_contact (person_uuid,phone_id) VALUES (?, ?)
Bindings: array( 0 => '695d7f0b-53b8-11e3-93fc-c12677e410a5', 1 => 14)

Location: C:\path\to\laravel\3_2_13\database\connection.php on line 263

最佳答案

根据您的评论,这是您的问题

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)

关于PHP:尝试/捕获失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956969/

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