pit*_*itu 3 error-handling try-catch node.js express
我只是想知道在nodejs中使用try catch是否合适.例如,我使用节点js的加密模块,用于加密和解密.所以我正在处理任何错误,而在try catch加密/解密是一个很好的做法?????
如果您的加密/解密调用是同步的(取决于您使用的库,模块,函数),请尝试/ catch使用它,否则根据您使用它的方式,它可能是无用的.
Try/catch可以捕获编程错误或错误代码,例如来自您不知道的库可能是错误的.
喜欢:
try {
libraryLib.encrypt(notSureIfThisIsAValidParam);
} catch (err) {...}
Run Code Online (Sandbox Code Playgroud)
您不确定是否已设置用户/密码,并且您不确定加密库是否可能失败,因此您将其换行.
但是try/catch还会创建一个新的执行上下文,复制范围和所有内容,就CPU时间而言,这是一项代价高昂的操作.这意味着您应该尝试避免热代码路径中的try/catch.
Node中的逻辑/业务错误通常使用错误优先回调模式(或Promises,或类似)来处理.通常,如果您希望程序员出现错误(即错误)以及您期望的其他错误模式,则只能使用try/catch .
当然,这只是一行推理,我通常会throw在Java转换器编写的Node代码中看到很多有意的子句(意味着与try/catc一起使用).但那可能是我特有的,所以YMMV.
| 归档时间: |
|
| 查看次数: |
7845 次 |
| 最近记录: |