Skip to Content
JavaScript 经典实例:第三版
book

JavaScript 经典实例:第三版

by Adam D. Scott, Matthew MacDonald, Shelley Powers
September 2022
Intermediate to advanced
585 pages
8h 17m
Chinese
China Electric Power Press Ltd.
Content preview from JavaScript 经典实例:第三版
错误和测试
269
10.3.3
讨论
把错误处理代码放在错误的位置是常见的错误。可惜,很多时候我们并不能发现错
误处理代码不起作用,永远不会运行,然而,借助
lint
工具(
1.10
节)或许可以发
现这个问题。最好的方案是真正测试应用可能出错的情况,确认错误处理代码能够
运行,降低错误的影响。
10.3.4
参考
9.2
节以
Fetch API
为例,全面说明如何使用基于
promise
的错误处理方式。
9.5
节以
Fetch API
为例,全面说明如何处理
async
await
结构中可能出现的错误。
10.4
检测未处理的错误
10.4.1
问题
你想捕获代码中未被处理的错误,比如说记录诊断日志。
10.4.2
方案
处理
window.error
件。事件处理函数接收五个包含错误信息的参数。除了表示
具体错误的对象以外,还有单独的
message
参数和位置信息(指明脚本文件
URL
source
参数,指明错误发生在哪一行的
lineno
参数,以及指明错误发生在哪一列
colno
参数)。
下面举个例子测试这个事件。
//
依附事件处理函数
window.onerror = (message, url, lineNo, columnNo, error) => {
console.log(`An unhandled error occurred in ${url}`);
}
//
抛出一个未处理的错误
console.log(
null
.length);
270
10
注意,要使用一个示例页面才能测试。不能在开发者控制台中为
window.error ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov
JavaScript

JavaScript

David Flanagan
JavaScript

JavaScript

T. J. Crowder

Publisher Resources

ISBN: 9787519869601