我如何识别我的函数引发的错误,使用LDAP?

时间:2014-04-12 10:10:28

标签: java authentication ldap

   try {
        CentralDataLayer cdl = new CentralDataLayerOracleImpl();
        AuthenticationDataLayer adl = cdl.getAuthenticationDataLayer();

        String user = request.getParameter("username");
        String pass = request.getParameter("password");
        String site = request.getParameter("category");

        adl.Login(user, pass, site);
       response.sendRedirect("Configuration");

    } catch (AuthenticationException ex){
         request.setAttribute("error", "Invalid user/pass");
      } catch (NamingException ex) {
        request.setAttribute("error", "no connection");
    }

当异常升起时,它只显示“无连接”,但我想区分这两种情况。我该怎么办?

1 个答案:

答案 0 :(得分:0)

它只是出现这种方式,因为你这样编码。您已经抛弃了异常中最有用的部分,即异常本身及其消息。不要那样做。不要只是创建自己设计的错误消息。使用异常附带的那个。在测试各种失败模式时,您还会发现存在多种NamingException,并且您应该单独捕获它们。