gpt4 book ai didi

node.js - 测试意外异常的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-03 08:26:39 25 4
gpt4 key购买 nike

这是NodeJS代码,但这是有关最佳实践的一般编程问题。

以下代码检查HTTPS证书的文件系统。
如果存在,它将创建一个HTTPS服务器。
如果文件不存在,则返回undefined。
如果发生意外异常(它从来没有发生过,而且我不确定是否可能发生),它将引发该异常。

请考虑到出于这个问题的考虑,throw block是最佳实践(我认为是这样,但是我不希望答案因这个问题而分散注意力)。

现在,抛出异常的代码不会像我的代码覆盖工具所揭示的那样被击中。我该如何处理?

我的选择是...

1-删除代码,因为它永远不会被击中-但是,如果引发了意外异常,catch块将掩盖它!

2-将代码保留在此处,并告知覆盖率工具将其忽略

3-做其他事情

请告知最佳做法。非常感谢

createHttpsServer(certDir) {

if (!certDir) {
return undefined;
}

try {
let options = {
key: fs.readFileSync(`${certDir}/privkey.pem`),
cert: fs.readFileSync(`${certDir}/fullchain.pem`),
ca: fs.readFileSync(`${certDir}/chain.pem`)
};
return https.createServer(options, this.app);
} catch (err) {
if (err.code === 'ENOENT') {
return undefined;
} else {
throw err;
}
}
}

最佳答案

必须同意罗伯特对此的评论。我建议将代码保留在那里。 “我不确定是否能做到”是我自己已经跌倒了很多次的陷阱。

关于node.js - 测试意外异常的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com