我想从实体类中获取一些数据。我尝试使用try / catch来处理问题,但它无法正常工作(仍然给我提供了Exception屏幕)。
错误:在非对象中调用成员函数getGroup() /var/www/html/system/src/Project/SomeBundle/Entity/MyEntity.php line 139 500内部服务器错误 - FatalErrorException堆栈跟踪
我如何在实体中做类似的事情?
代码/实体:
import urllib2
url = 'https://api.fitbit.com/1/user/-/activities/heart/date/2016-6-14/1d/1sec/time/00:00/23:59.json'
hdr = {'Authorization': 'Bearer (token)'}
req = urllib2.Request(url,headers=hdr)
f = urllib2.urlopen(req)
提前致谢...
答案 0 :(得分:0)
错误消息Error: Call to a member function getGroup() on a non-object in...
与您正在接收 的无关。这意味着你试图在一个不是一个对象的东西上调用一个函数。
似乎$this->getItems()->last()
以某种方式返回null
(因为没有项目),然后您在getGroup()
上调用null
这是一个非对象。
尝试调试您正在调用getGroup()
的对象,并在调用之前查看它所拥有的值。
答案 1 :(得分:0)
如果你想捕捉到这个错误,你必须按照以下方式编写try catch
try {
$result = $this->getName() . ' - ' . $this->getItems()->last()->getGroup()->getCode();
}
catch(\Symfony\Component\Debug\Exception\FatalErrorException $exception) {
$result = $this->getName();
$logFile = fopen('/tmp/error.log', 'a');
fwrite($logFile, $exception->getMessage());
fclose($logFile);
}
您可以在上面的代码块中看到我已将 \ Exception 更改为 \ Symfony \ Component \ Debug \ Exception \ FatalErrorException