diff --git a/source/Yandex/Geo/Api.php b/source/Yandex/Geo/Api.php index 84248ea..80a2e48 100644 --- a/source/Yandex/Geo/Api.php +++ b/source/Yandex/Geo/Api.php @@ -90,7 +90,14 @@ public function load(array $options = []) throw new \Yandex\Geo\Exception($msg); } if (!empty($data['error'])) { - throw new \Yandex\Geo\Exception\MapsError($data['error']['message'], $data['error']['code']); + if (is_array($data['error'])) { + throw new \Yandex\Geo\Exception\MapsError($data['error']['message'], $data['error']['code']); + } else if (!empty($data['message'])) { + $code = !empty($data['statusCode']) ? $data['statusCode'] : 0; + throw new \Yandex\Geo\Exception\MapsError($data['message'], $code); + } else { + throw new \Yandex\Geo\Exception\MapsError($data['error']); + } } $this->_response = new \Yandex\Geo\Response($data);