我有一个像这样包装console.log的函数。
NS.log("error");
我用于错误记录。这是一个简单的一个班轮,让应用程序开发人员知道出了问题。它不会停止程序流并在控制台中不显眼地显示。
但是,我在大学课程等中听说,使用try / throw / catch是最好的做法,因为它使用了错误控制系统。
但是,我不需要在throw语句后“冒泡”错误。我会立即抓住它:
try {
throw "error"
} catch (e) {
}
简单地记录错误是否有任何缺点,而不是使用更正式的结构。
我的假设是try / throw / catch适用于更复杂的结构。
但我想确定。
备注:
答案 0 :(得分:1)
如果它适合你和那些你工作的人那么它是有效的;而且没有必要改变。
技术上try/throw/catch
是最佳做法,在大多数语言中都应该使用。
然而,在javascript中,我可以告诉你,try/throw/catch
表现相当糟糕。此外,javascript中的许多错误都是动态的。应该处理是的。但是很多人不会破坏你的申请。
那你为什么要让它们冒泡并惹恼你的用户?
TL:DR 我并不劝阻使用try/throw/catch
有时你应该使用它,正如@JohnSaunders所说。但是,通常在javascript错误中不会破坏任何内容并且经常使用try/throw/catch
来打击性能,这意味着您应该考虑成本/收益在盲目实施之前,这种“最佳实践”的比例。
答案 1 :(得分:0)
我很高兴您正在考虑您的选择并思考整个过程。然而
所以在你的情况下,如果你有某种日志过程,那么使用try catch。 示例
try {
} catch (e) {
NS.log(err);
}