jfinal2.2
render之后直接返回是必须要显式return,比如检查请求参数合法性,如果不合法,randerJson(result)同时返回。
renderJson(Result.error("缺少参数")); return;
有没有类似play中,render之后就返回了,不需要显式return。
protected static void renderJSON(String jsonString) { throw new RenderJson(jsonString); }
调用renderJSON(result)就直接返回了
1:抛出异常严重拉低框架性能,异常的创建、初始化、抛出都是很费时的操作
2:异常用于正常流程是对异常的极度误用,建议看看《effective java》 这本经典的书,里面有非常深度的解读,异常只能用于不正常的流程
程序语言决定了,要终止一个正常执行中的 statement 语句序列,必须使用 return、continue、break、goto 等专用程序跳转控制机制才可以做到, throw 并非用于控制程序跳转机制
综上,jfinal 的 render 不会去支持直接跳出当前正常的 statement 执行流