CNode

node 使用ejs 渲染模板,如何捕获渲染错误异常

问答
Ddixiaoping发布于7 年前最后回复7 年前2 回复4960 浏览0 收藏

image.png

例如,这种错误,服务端返回的数据缺少字段,导致ejs 渲染出错,报没有此字段,

使用全局捕获异常,没有捕获到,这种错误该如何避免,

**目前最笨的方法就是,在ejs 模板里判断这个字段有没有,但是这种方法工作量太大,

如果有100多个字段,这很不现实,如何捕获这种模板渲染错误异常,直接返回404页面呢**

查看回复

回复 (2)

D
dixiaoping#1·7 年前

@yuduxyz 特别感谢,已经弄好了

Y
yuduxyz#2·7 年前

如果你使用的 Express,可以在 render 函数中通过 callback 参数来捕获异常 https://expressjs.com/en/api.html#res.render 。另外,取深层次嵌套字段可以使用 lodash 的 get 方法,防止字段缺失时出错

参与回复
登录后即可参与回复。登录