Category: Nodejs
-
Nodejs 之 异常的处理和记录
异常的处理 对于异常的在promise中我们通常用catch, 在async/await中我们通常用try…catch…, 这造成的问题是代码冗余,处理相同的错误我们也要在不同的位置多次修改,因此在express中我们可以使用自定义中间件来创造一个错误处理中间件,例 这样就批量完成了错误的处理。 但这个方法的缺点是在api这里要调用asyncMiddlware这个方法。 更简单的方法当然是使用npm包啦,就是express-async-errors, 导入之后就会自动处理异步请求了 异常的记录 winston 是一个常用的错误记录库。 winston中一个重要的名词是transport, 其实就是数据的存储,他可以存储到本地的文件中,存储到数据库中,或者通过http存储到其他数据平台。 winston中记录的错误可以分为不同的错误等级 { error: 0, warn: 1, info: 2, http: 3, verbose: 4, debug: 5, silly: 6 } 如果没有指定错误等级,winston会默认按照上面的错误等级