gpt4 book ai didi

php - 捕获所有 PHP 异常是最佳实践吗?

转载 作者:行者123 更新时间:2023-12-02 16:51:42 33 4
gpt4 key购买 nike

对于任何 PHP 可能抛出的异常,您可以将其包含在 try-catch block 中。示例:

// Collect file list
try {
$optParams = [
'orderBy' => 'modifiedTime',
'pageSize' => $count, # Google default is 100, maximum is 1000
'q' => "mimeType = 'application/vnd.google-apps.spreadsheet' and modifiedTime >= '$modifiedAfter'",
'fields' => 'nextPageToken, files(id,modifiedTime)'
];

$results = $googleService->files->listFiles($optParams);
foreach ($results->getFiles() as $file) {
if ($file->getModifiedTime() <= $modifiedAfter) {
if ($file->getId() <= $idGreaterThan) {
continue;
}
}
$retval[$file->getId()] = $file->getModifiedTime();
}
return $retval;
} catch (\Google_Service_Exception $e) {
echo 'ERROR GOOGLE SERVICE: ';
echo json_encode($e->getErrors());
return null;
}

如果捕获错误是最佳实践,那么人们应该如何评估?

最佳答案

不,处理所有可能的异常不是好的做法。

在您预计可能会发生异常并且可以处理它们的地方处理异常,或者在您需要以特定方式优雅地失败(例如展开某些操作)的地方处理异常。对于其他任何事情,让它崩溃。

如果您捕获了所有异常,就会使调试变得困难。此外,如果您不重新抛出或以其他方式退出,则有可能在代码的其他地方导致意外结果。

在上面的具体示例中,如果您想输出特定的错误消息,请用您自己的异常包装内部异常,并有一个通用的错误处理程序来输出消息。

异常和try/catch是要用到的流控工具。编写健壮代码的一部分是确保它在偏离轨道时安全地停止。

关于php - 捕获所有 PHP 异常是最佳实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58402823/

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