关于Throwable错误的Php7实践

时间:2016-04-13 09:03:26

标签: magento php-7

长话短说,我们最近已经从php 5.6切换到php 7.虽然应用程序(基于Magento 1.9的应用程序)似乎在切换后相应地工作,但我们有一些shell脚本,不知何故/有时会死于所有突然不知道为什么:

Mage::log("doing something", null, 'custom.log', true); <- logged, see it
doSomething(); <- perfroms a service call, which looks like it's done properly
Mage::log("something done", null, 'custom.log', true); <- not logged

上面的问题是我们绝对没有错误,警告等,所以我们无法确定会发生什么。由于更改了Php7中的错误处理,我假设发生了一个错误(以前记录在/ var / log / ...中),现在被抛出为Error异常,基于Php7规范并未被捕获经典捕获(Exception $ e){}阻止。所以我对这整个情况的主要问题是:

当从Php5.X切换到Php7时,使用catch(Throwable $ e)更改catch(Exception $ e)是不是一个好习惯,因为Throwable包含Excptions和新错误?否则,如果我是正确的,应该在代码中添加多个“catch(Error $ e)”块,以便现在可以捕获这些错误。

0 个答案:

没有答案