0

我有一个像这样包装 console.log 的函数。

NS.log("error");

我用于错误记录。这是让应用程序开发人员知道出现问题的简单方法。它不会停止程序流程并在控制台中不显眼地显示。

但是,我在大学课程等中听说使用 try/throw/catch 是最佳实践,因为它使用了已经存在的错误控制系统。

但是,我不需要在 throw 语句之后将错误“冒泡”。我会像这样立即抓住它:

try {
    throw "error"
} catch (e) {
}

与使用更正式的结构相比,简单地记录错误是否有任何缺点。

我的假设是 try/throw/catch 用于更复杂的结构。

但我想确定一下。

笔记:

  • requirejs 共使用 throw 4 次 | 不使用控制台或日志
4

2 回答 2

1

如果它适用于您和您的合作伙伴,那么它适用;并且没有必要改变。

从技术上讲try/throw/catch是最佳实践,在大多数语言中,这就是您应该使用的。

然而,在 javascript 中,我可以告诉你它try/throw/catch的性能很差。javascript中的许多错误也是动态的。应该处理的是。但是其中很多不会破坏您的应用程序。

那么,你为什么要他们冒泡并惹恼你的用户呢?

TL:DR我并不反对使用try/throw/catch有时你应该使用它,正如@JohnSaunders 所说。但事实上,在 javascript 中,错误通常不会破坏任何东西,而且您经常使用try/throw/catch.

于 2013-02-27T20:02:33.500 回答
0

我很高兴您正在考虑您的选择并考虑整个过程。然而

  1. try 语句允许您测试代码块的错误。
  2. catch 语句允许您处理错误。
  3. throw 语句允许您创建自定义错误。

因此,在您的情况下,如果您有某种日志过程,请使用 try catch。例子

try {

} catch (e) {
   NS.log(err);
}

更多信息/来源

于 2013-02-27T20:02:26.013 回答