/* dao层、service层在可能发生异常的地方都catch了,然后抛出自定义异常。 在controller层来一个总的catch自定义异常然后作出处理。 后台打出错误信息,在错误页面显示提示信息。 */ public class Test { public static void main(String[] args) { new Test().controller(); } public void controller() { try { service(); } catch (MyException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } public void service() throws MyException { dao(); } public void dao() throws MyException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { sdf.parse("20110412"); } catch (ParseException e) { throw new MyException("格式化日期错误!", e); } } } public class MyException extends RuntimeException { public MyException() { super(); } public MyException(String msg) { super(msg); } public MyException(Throwable e) { super(e); } public MyException(String msg, Throwable e) { super(msg, e); } }