Java EE 项目中异常处理(8)

  Integer.parse()方法被抛出一个NumberFormatException的unChecked异常。但是这个异常绝对不是一个致命的异常,一般当用户在页面的录入域录入的值不合法时,我们应该提示用户进行重新录入。但是一旦抛出unchecked异常,就没有重试的机会了。像这样的代码造成大量的异常信息显示到页面。使我们的系统看起来非常的脆弱。

  同样,SimpleDateFormat.parse()方法也会抛出ParseException的unChecked异常。

  这种情况我们都应该捕获这些unChecked异常,并给提示用户重新录入。

  Java 代码

  ModeAndView handleRequest(HttpServletRequest request,HttpServletResponse response)throws Exception{

  String ageStr = request.getParameter(“age”);

  String birthDayStr = request.getParameter(“birthDay”);

  int age = 0;

  Date birthDay = null;

  try{

  age=Integer.parse(ageStr);

  }catch(NumberFormatException ex){

  error.reject(“age”,”不是合法的整数值”);

  }

  …………

  try{

  SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy”);

  birthDay = format.parse(birthDayStr);

  }catch(ParseException ex){

  error.reject(“birthDay”,”不是合法的日期,请录入’MM/dd/yyy’格式的日期”);

  }

  }

  在表示层一定要弄清楚调用方法的是否会抛出unChecked异常,什么情况下会抛出这些异常,并作出正确的处理。在表示层调用系统的业务方法,一般情况下是无需要捕获异常的。如果调用的业务方法抛出的异常相当于第二个返回值时,在这种情况下是需要捕获。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpjzj.html