Java 如何使用LDAP识别函数引发的错误类型?

Java 如何使用LDAP识别函数引发的错误类型?,java,authentication,ldap,Java,Authentication,Ldap,当引发异常时,它看起来只是没有连接,但我想区分这两种情况。我该怎么办呢?它只是以这种方式出现,因为您是以这种方式编码的。您已经丢弃了异常最有用的部分,即异常本身及其消息。不要那样做。不要只是创造一个你自己设计的错误信息。使用异常附带的一个。在测试各种故障模式时,您还将发现存在不止一种NamingException,您应该分别捕获它们 try { CentralDataLayer cdl = new CentralDataLayerOracleImpl();

当引发异常时,它看起来只是没有连接,但我想区分这两种情况。我该怎么办呢?

它只是以这种方式出现,因为您是以这种方式编码的。您已经丢弃了异常最有用的部分,即异常本身及其消息。不要那样做。不要只是创造一个你自己设计的错误信息。使用异常附带的一个。在测试各种故障模式时,您还将发现存在不止一种NamingException,您应该分别捕获它们

   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");
    }