gpt4 book ai didi

php - 无法捕获 Carbon 抛出的异常

转载 作者:可可西里 更新时间:2023-10-31 22:05:26 25 4
gpt4 key购买 nike

下面的代码抛出了一个异常,无论出于何种原因我都无法捕捉到它。

try {
$this->date = \Carbon\Carbon::parse($this->date)->toDateString();
}
catch (Exception $err) {
$this->date = \Carbon\Carbon::parse("January 1st 1900")->toDateString();
}

现在,如果我把它放在我的路由文件中的一个函数闭包中,它就可以正常工作。它仅在从模型调用时抛出异常。

异常“异常”,消息为“DateTime::__construct():无法在位置 0 (S) 解析时间字符串(2015 年夏季):在/home/中的数据库中找不到时区” vagrant/www/steamcompare/vendor/nesbot/carbon/src/Carbon/Carbon.php:222

还有其他人遇到过 Carbon 的这个问题吗?

最佳答案

提出问题后,我立即想到了答案。因为我在网上看到很多关于非常相似问题的帖子,所以我想我会继续回答这个问题。

问题是命名空间。 Carbon 运行在与我的应用程序不同的命名空间(很明显),所以当我尝试 catch (Exception) 时,我实际上是在尝试在我的应用程序的命名空间内捕获异常。将 catch 语句更改为 catch (\Exception) 解决了它。

我希望这对最终访问此页面的任何人有所帮助。

关于php - 无法捕获 Carbon 抛出的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31248584/

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