diff --git a/lib/Fetcher/FeedFetcher.php b/lib/Fetcher/FeedFetcher.php index c0477407c6..c7192cc19c 100755 --- a/lib/Fetcher/FeedFetcher.php +++ b/lib/Fetcher/FeedFetcher.php @@ -19,6 +19,7 @@ use FeedIo\FeedInterface; use FeedIo\FeedIo; use FeedIo\Reader\ReadErrorException; +use FeedIo\Reader\NoAccurateParserException; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; use GuzzleHttp\Exception\ConnectException; @@ -135,7 +136,19 @@ public function fetch( $lastModified = null; } $url = $url2->getNormalizedURL(); - $resource = $this->reader->read($url, null, $lastModified); + + try { + $resource = $this->reader->read($url, null, $lastModified); + } catch (NoAccurateParserException) { + $this->logger->warning( + 'Feed {url} cannot be be parsed', + [ + 'url' => $url, + ] + ); + throw new ReadErrorException("Feed cannot be parsed."); + } + $location = $resource->getUrl(); $parsedFeed = $resource->getFeed();