diff --git a/pages/run_query.php b/pages/run_query.php index 55603d025e..9fa76b01f0 100644 --- a/pages/run_query.php +++ b/pages/run_query.php @@ -131,9 +131,16 @@ try { $oFilter = DBObjectSearch::FromOQL($sExpression); } - catch(OqlException $e) + catch(Exception $e) { - $sSyntaxError = $e->getHtmlDesc(); + if ($e instanceof OqlException) + { + $sSyntaxError = $e->getHtmlDesc(); + } + else + { + $sSyntaxError = $e->getMessage(); + } } if ($oFilter) @@ -159,7 +166,7 @@ try } } - $oP->add("
\n"); + $oP->add("\n"); $oP->add(Dict::S('UI:RunQuery:ExpressionToEvaluate')."
\n"); $oP->add("\n"); @@ -193,21 +200,28 @@ try } elseif ($sSyntaxError) { - $sWrongWord = $e->GetWrongWord(); - $aSuggestedWords = $e->GetSuggestions(); - if (count($aSuggestedWords) > 0) + if ($e instanceof OqlException) { - $sSuggestedWord = OqlException::FindClosestString($sWrongWord, $aSuggestedWords); - - if (strlen($sSuggestedWord) > 0) + $sWrongWord = $e->GetWrongWord(); + $aSuggestedWords = $e->GetSuggestions(); + if (count($aSuggestedWords) > 0) { - $oP->p(''.Dict::Format('UI:RunQuery:Error', $e->GetIssue().' '.$sWrongWord).''); - $sBefore = substr($sExpression, 0, $e->GetColumn()); - $sAfter = substr($sExpression, $e->GetColumn() + strlen($sWrongWord)); - $sFixedExpression = $sBefore.$sSuggestedWord.$sAfter; - $sFixedExpressionHtml = $sBefore.''.$sSuggestedWord.''.$sAfter; - $oP->p("Suggesting: $sFixedExpressionHtml"); - $oP->add(''); + $sSuggestedWord = OqlException::FindClosestString($sWrongWord, $aSuggestedWords); + + if (strlen($sSuggestedWord) > 0) + { + $oP->p(''.Dict::Format('UI:RunQuery:Error', $e->GetIssue().' '.$sWrongWord).''); + $sBefore = substr($sExpression, 0, $e->GetColumn()); + $sAfter = substr($sExpression, $e->GetColumn() + strlen($sWrongWord)); + $sFixedExpression = $sBefore.$sSuggestedWord.$sAfter; + $sFixedExpressionHtml = $sBefore.''.$sSuggestedWord.''.$sAfter; + $oP->p("Suggesting: $sFixedExpressionHtml"); + $oP->add(''); + } + else + { + $oP->p(''.Dict::Format('UI:RunQuery:Error', $e->getHtmlDesc()).''); + } } else { @@ -216,7 +230,7 @@ try } else { - $oP->p(''.Dict::Format('UI:RunQuery:Error', $e->getHtmlDesc()).''); + $oP->p(''.Dict::Format('UI:RunQuery:Error', $e->getMessage()).''); } } }