gpt4 book ai didi

PHP:即使发现异常如何执行try block ?

转载 作者:行者123 更新时间:2023-11-29 12:31:05 24 4
gpt4 key购买 nike

我有一个 try block ,其中肯定会抛出一些异常,但如果发生这种情况,我不想停止 try block 的执行。

这是代码:

try {
$queryStr = "SELECT * FROM `$current_table` WHERE ...";
$query = $db->prepare($queryStr);
$query->execute();

while($row = $query->fetch()) {

}

} catch(PDOException $e) {
//echo $e->getMessage();
}

这个 try/catch block 位于 for 循环内,因此 $current_table 将不断变化。现在,当前表可以采用 4 个值 april-june-2014july-september-2014october-december-2014 2015 年 1 月至 3 月。这些表名存储在一个数组中。

现在,当它将查询第一个表并且如果找到它时,那么它很好,但如果没有找到,那么我想检查其他表并看看它们是否存在。如果没有找到任何表,则会抛出异常,然后不会检查其他表。

有办法做到这一点吗?

最佳答案

使用 continue 语句:

for (/* condition */) {
try {
// things
} catch (Exception $e) {
continue;
}

// won't reach here if exception was caught
}

参见:http://php.net/continue

示例(在 WriteCodeOnline 上尝试一下):

$counter = 0;

for ($i = 0; $i < 5; $i++) {
try {
$counter++;
if ($counter != 3) {
throw new Exception("Test");
}
} catch (Exception $e) {
continue;
}

echo "This only prints when an exception is not thrown (when \$counter is 3). See: \$counter = " . $counter;
}

echo "\n";
var_dump($counter);

关于PHP:即使发现异常如何执行try block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499604/

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