gpt4 book ai didi

javascript - 当代码抛出字符串而不是错误时发出警告

转载 作者:行者123 更新时间:2023-11-30 12:32:01 25 4
gpt4 key购买 nike

有时在 JavaScript 中,人们会写 throw 'Something went wrong'; 而不是 throw Error('something went wrong');

第一个示例是完全有效的 JS,但并不理想,因为字符串没有堆栈跟踪,但错误有。当代码抛出字符串而不是抛出错误时,Closure 编译器能否发出警告?

最佳答案

您可以使用 JS 一致性文件来执行此操作。详细信息为 here ,但实际上您创建了一个文件 js_conformance.txt:

requirement: {
type: BANNED_CODE_PATTERN
error_message: 'The use of throw with a string is not allowed. Throw an Error object instead.'

value: '/** @param {string|String} str */ function template(str) { throw str }'
}

并使用 --conformance_configs=js_conformance.txt 将其传递给编译器

如果您的代码库中有很多现有的 throw 'string',您可以使用 RefasterJS 清理它们.

This video is a nice intro to both the conformance checks and RefasterJS.

关于javascript - 当代码抛出字符串而不是错误时发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410936/

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