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");
}
当异常升起时,它只显示“无连接”,但我想区分这两种情况。我该怎么办?
答案 0 :(得分:0)
它只是出现这种方式,因为你这样编码。您已经抛弃了异常中最有用的部分,即异常本身及其消息。不要那样做。不要只是创建自己设计的错误消息。使用异常附带的那个。在测试各种失败模式时,您还会发现存在多种NamingException,并且您应该单独捕获它们。