【发布时间】:2009-05-05 08:38:43
【问题描述】:
我正在尝试从 UserHelper 类的 importUsers 方法中抛出(自定义)ImportException。我可以在调试器中看到 throw 子句已执行,但调用 importUsers 方法的方法从不捕获异常。
这里是抛出异常的方法:
public static AccessorValidator importUsers(List<String> data, WebUser actor) throws ImportException {
//(irrelevant code removed)
try {
isSuccess = insertUserData(st, blocks, db, actor);
} catch (Exception e) {
throw new ImportException("Could not insert user on line " + rowCounter);
}
}
这里我尝试从 AccessorValidator 类的执行方法中捕获抛出的异常,但没有成功:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//(irrelevant code removed)
try{
av = UserHelper.importUsers(data, admin);
System.out.print("test2");
} catch (ImportException ie) {
System.out.print("testE");
returnMessageValue = ie.getMessage();
} catch (Exception e) {
System.out.print("testE2");
}
输出是“test2”,代码执行永远不会到达任何一个 catch 块。我做错了什么?
【问题讨论】:
-
UserHelper.importUsers(data, admin);没有比抛出异常!
标签: java exception exception-handling