这段代码一直是从jfinal3.3-3.8使用:
try {
password = RSAKit.decryptionToString(password);
loginService.aopLogin(userCode, password, getRequest());
redirect(!returnUrl.equals("")?returnUrl:"/");
} catch (Exception e) {
handerException(e);
SysUser user = sysUserService.findByUserCode(userCode);
if (user != null) {
isShowVerifyCode(user);
}
setAttr("returnUrl", returnUrl);
setAttr("msg", e.getCause().getMessage());
render("login.html");
}但是升级到4.2之后,e.getCause().getMessage()就出错了,原因是e.getCause()==null,不知道怎么会出现这个差异。
jfinal3.8之前的版本e.getMessage()会带上类的全名,所以要用到e.getCause().getMessage();



项目:JFinal-layui
我不知道具体原因,因为这块的变化并不涉及异常,老版本的业务层 AOP 用到了 cglib ,或许是 cglib 内部的处理方式与 jfinal 4.2 的有所不同
或许是你自己的代码有所变动引起的