繁体   English   中英

无法捕获Carbon抛出的Exception

[英]Can't catch Exception thrown by Carbon

以下代码抛出了一个异常,无论出于何种原因我无法捕获。

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

现在,如果我将它放在函数闭包中的我的路径文件中,它可以正常工作。 它只是在从模型中调用时抛出异常。

exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (Summer 2015) at position 0 (S): The timezone could not be found in the database' in /home/vagrant/www/steamcompare/vendor/nesbot/carbon/src/Carbon/Carbon.php:222

有没有其他人有碳这个问题?

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

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

我希望这可以帮助任何最终在此页面上的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM