public ActionResult ExecuteQuery(string query, string driverName) { IntermediateQuery queryObj; try { queryObj = _queryParser.ParseQuery(query); List <QueryResult> results = _driverManager.ExecuteQuery(queryObj, driverName); return(PartialView("QueryResultPartial", results)); } catch (InvalidQuerySyntaxException e) { return(PartialView("FailedQueryErrorMessage", $"Syntax error: {e.UnnesessarySyntax}")); } catch (UnknownDriverException e) { return(PartialView("FailedQueryErrorMessage", $"Unknown driver: {e.DriverName}")); } catch (EmptyQueryException e) { return(PartialView("FailedQueryErrorMessage", $"{e.Message}")); } catch (Exception e) { return(PartialView("FailedQueryErrorMessage", $"Failed to execute query: {e.Message}")); } }