postgresql,java:如何在没有代码中位置信息的情况下打印jast引发异常消息?

u0sqgete  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(484)

这是我的java方法:

public static boolean addEmployee(Employee employee) {
        String sql = "SELECT addemployee(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";

        try (Connection conn = connect();
             PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setString(1, employee.getFirstName());
            .
            .
            .
            ps.execute();
            return true;
        } catch (SQLException e) {
            showMessageDialog(null, e.getMessage());
            System.out.println(e.getMessage());
        }
        return false;
    }

这是我的postgresql函数:

CREATE OR REPLACE FUNCTION addEmployee(. . .)
    RETURNS BOOLEAN AS
$$
DECLARE
    existsCheck BOOLEAN;
    iddd        INTEGER;
BEGIN
    SELECT EXISTS(SELECT ed.username
                  FROM employee_data ed
                  WHERE ed.username = usernameAdd)
    INTO existsCheck;
    IF (SELECT existsCheck = FALSE) THEN
       .
       .
       .
    ELSE
        RAISE EXCEPTION 'Nazwa użytkownika jest zajęta!';
    END IF;
    RETURN TRUE;
END ;
$$

当抛出异常时,我得到这样一个消息对话框:[image]

当我尝试注册并且我输入的用户名已经存在时,会收到错误消息。所以我得到了“用户名被别人拿走了,试试其他人”的警告(屏幕截图上的1行)。我只想打印这些文字,不在截图上写第二行。
我怎样才能摆脱这第二条线?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题