Показать сообщение об ошибке SQL в AngularJS
Я пытаюсь создать приложение, в котором пользователь может явно видеть правила SQL, которые он нарушает, если он вводит неверный ввод, чтобы сохранить его или использовать для запроса к базе данных. Я хотел бы показать это как всплывающее сообщение в браузере, также я использую AngularJS на клиентской стороне и SpringBoot на серверной части. Я видел пост, где они обсуждают, как распечатать его на консоли, Показать сообщение об ошибке SQL.
public static void printSQLException(SQLException ex) {
for (Throwable e : ex) {
if (e instanceof SQLException) {
if (ignoreSQLException(
((SQLException)e).
getSQLState()) == false) {
e.printStackTrace(System.err);
System.err.println("SQLState: " +
((SQLException)e).getSQLState());
System.err.println("Error Code: " +
((SQLException)e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while(t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
}
Но в этом вопросе он показывает, как получить его в консоли, а не в браузере. По умолчанию сообщение HttpError происходит из SpringBoot, где оно выдает BadSQLGrammarExcpetion. Мне требуется точное сообщение SQLError, чтобы показать фактическую ошибку, которая происходит в базе данных. Я немного новичок в AngularJS, так как я в основном бэкэнд-разработчик. Так что, если это какие-то примеры, которые можно предложить, я действительно ценю это.
1 ответ
Поэтому я выбрал другой подход... вместо того, чтобы явно пытаться отобразить возникшие ошибки SQL, основываясь на сценарии, который имел место, я написал свои собственные сообщения об исключениях и отобразил их через объект ошибки. Это не дает пользователям слишком много информации, так что это может привести к нарушениям безопасности, но этого достаточно, чтобы узнать о возникшей проблеме.