代码之家  ›  专栏  ›  技术社区  ›  user3116769

在AngularJS中显示SQL错误消息

  •  0
  • user3116769  · 技术社区  · 7 年前

    我试图创建一个应用程序,如果用户输入了错误的输入来持久化或用于查询数据库,那么用户可以明确地看到他们违反的SQL规则。我想在浏览器上显示一条弹出消息,我在客户端使用AngularJS,在后端使用SpringBoot。我看过他们讨论如何在控制台上打印的帖子, Show SQL error message .

    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,它在SpringBoot中给出了一个BadSqlGrammarException。我需要确切的SQLError消息来显示数据库上发生的实际错误。我对AngularJS有点陌生,因为我主要是后端开发人员。因此,如果有任何可以提供的例子,我将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   user3116769    6 年前

    所以我采取了不同的方法。。。我没有显式地尝试显示已经发生的SQL错误,而是根据发生的场景编写了自己的异常消息,并通过错误对象显示它们。这不会给用户提供太多信息,因此可能会导致安全漏洞,但只足以了解发生的问题。