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

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

这是我的java方法:

  1. public static boolean addEmployee(Employee employee) {
  2. String sql = "SELECT addemployee(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
  3. try (Connection conn = connect();
  4. PreparedStatement ps = conn.prepareStatement(sql)) {
  5. ps.setString(1, employee.getFirstName());
  6. .
  7. .
  8. .
  9. ps.execute();
  10. return true;
  11. } catch (SQLException e) {
  12. showMessageDialog(null, e.getMessage());
  13. System.out.println(e.getMessage());
  14. }
  15. return false;
  16. }

这是我的postgresql函数:

  1. CREATE OR REPLACE FUNCTION addEmployee(. . .)
  2. RETURNS BOOLEAN AS
  3. $$
  4. DECLARE
  5. existsCheck BOOLEAN;
  6. iddd INTEGER;
  7. BEGIN
  8. SELECT EXISTS(SELECT ed.username
  9. FROM employee_data ed
  10. WHERE ed.username = usernameAdd)
  11. INTO existsCheck;
  12. IF (SELECT existsCheck = FALSE) THEN
  13. .
  14. .
  15. .
  16. ELSE
  17. RAISE EXCEPTION 'Nazwa użytkownika jest zajęta!';
  18. END IF;
  19. RETURN TRUE;
  20. END ;
  21. $$

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

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

暂无答案!

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

相关问题