From 0518c9656702a2c419d9984f95f2950d39374bf4 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 2 Oct 2021 18:45:42 +0200 Subject: [PATCH] Catch exception --- app/Support/Search/OperatorQuerySearch.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Support/Search/OperatorQuerySearch.php b/app/Support/Search/OperatorQuerySearch.php index e0d38266d2..35c2e58840 100644 --- a/app/Support/Search/OperatorQuerySearch.php +++ b/app/Support/Search/OperatorQuerySearch.php @@ -54,6 +54,7 @@ use Gdbots\QueryParser\QueryParser; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Log; +use TypeError; /** * Class OperatorQuerySearch @@ -152,7 +153,13 @@ class OperatorQuerySearch implements SearchInterface { Log::debug(sprintf('Now in parseQuery(%s)', $query)); $parser = new QueryParser(); - $query1 = $parser->parse($query); + try { + $query1 = $parser->parse($query); + } catch (TypeError $e) { + Log::error($e->getMessage()); + Log::error(sprintf('Could not parse search: "%s".', $query)); + throw new FireflyException('Invalid search value. See the logs.', 0, $e); + } Log::debug(sprintf('Found %d node(s)', count($query1->getNodes()))); foreach ($query1->getNodes() as $searchNode) {