【发布时间】:2023-03-06 14:44:01
【问题描述】:
我正在尝试执行以下操作:
try {
// just an example
$time = 'wrong datatype';
$timestamp = date("Y-m-d H:i:s", $time);
} catch (Exception $e) {
return false;
}
// database activity here
简而言之:我初始化了一些要放入数据库的变量。如果由于某种原因初始化失败 - 例如因为 $time 不是预期的格式 - 我希望该方法返回 false 并且不会将错误的数据输入到数据库中。
但是,像这样的错误不会被“catch”语句捕获,而是被全局错误处理程序捕获。 然后脚本继续。
有没有办法解决这个问题?我只是认为这样做会更干净,而不是手动对每个变量进行类型检查,考虑到在 99% 的所有情况下都没有发生任何坏事,这似乎是无效的。
【问题讨论】:
-
这是因为异常在 PHP 中没有普遍实现。它们是 PHP5 的补充,很少有内置函数会抛出它们。相反,您需要验证大多数函数的返回值。