【发布时间】:2013-08-27 11:49:11
【问题描述】:
在 catch (Exception $e) 的情况下,以下代码在 $lat = $track[0] 行失败。如何解决?
$track = getPositionalTrack();
$lat = $track[0];
$lon = $track[1];
function getPositionalTrack()
{
$track = array();
$url = "https://...";
try
{
$result = file_get_contents($url);
$obj = json_decode($result, true);
$lat = $obj["lat"];
$lon = $obj["lon"];
$track[0] = $lat;
$track[1] = $lon;
}
catch (Exception $e)
{
die('ERROR: ' . $e->getMessage());
}
return $track;
}
【问题讨论】:
-
“失败”是什么意思?输出是什么?错误是什么?此外,
try块中的任何代码都不会抛出任何异常。 -
你在
try {}块中试过var_dump($obj);吗? -
另外,如果
json_decode()有错误,您可以通过json_last_error()php.net/manual/en/function.json-last-error.php进行检查 -
另外,我不会在这段代码中使用异常:正常的错误检查和处理会是更好的设计