throw Error和console.error的区别是什么?
What is the difference between throw Error and console.error
这两个语句之间的区别是什么,是否有很好的理由使用其中一个而不是另一个?
throw Error("msg");
console.error("msg");
在我有限的经验中,我只真正见过使用throw Error()
。有什么特别的原因吗?
同样,是否存在与console.warn()
相同的方式?
throw ...
在当前代码块中引发异常并导致其退出,或者如果在try
块中引发则流向下一个catch
语句。
console.error
只是向浏览器开发人员工具javascript控制台打印一条红色消息,不会导致执行流程发生任何变化。
差异如下:
抛出错误("味精"):
- 停止js的执行。 主要用于代码处理。
- 可以改变主执行流程。
- 该语法在所有浏览器中基本相同,因为它是由W3C指定和验证的。
console.error("味精"):
- 它只是在浏览器控制台显示红色输出
- 主要用于打印调试用的值。
- 不能损害主流程的执行。
-
此语法有时因供应商浏览器而异,并且未被W3C标准化。
。IE接受的语法是
window.console.debug("msg")
Throw用于实际更改控制流(跳出当前上下文并跳转到错误处理程序),以便以编程方式处理错误。console语句仅用于调试和将文本打印到错误控制台中。您可能会看到它们一起使用,例如:
var doSomethingDangerous = function(response) {
if (isMalformed(response)) {
throw Error('Response is malformed.');
}
process(response);
};
var sendAsyncRequest = function() {
var request = buildAsyncRequest();
request.sendThen(function (response) {
try {
doSomethingDangerous(response);
} catch (e) {
console.error(e);
doSomeAdditionalErrorHandling();
}
});
};
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- emu -model、emu -restless和emu之间的主要区别(优缺点)是什么?
- function()在jQuery中是什么意思?这个和$(这个)有什么区别