From 0ba6b90aebce36507c27b205e5a2cb10b67a1930 Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Wed, 17 Jul 2019 22:19:11 +0800 Subject: [PATCH 1/7] add 04-promise-error-handling --- .../01-error-async/solution.md | 13 + .../01-error-async/task.md | 11 + .../04-promise-error-handling/article.md | 345 ++++++++++++++++++ .../04-promise-error-handling/getMessage.js | 3 + .../04-promise-error-handling/head.html | 29 ++ .../11-async/04-promise-error-handling/one.js | 3 + .../promise-handler-variants-2.png | Bin 0 -> 23357 bytes .../promise-handler-variants-2@2x.png | Bin 0 -> 55477 bytes .../promise-handler-variants.png | Bin 0 -> 41284 bytes .../promise-handler-variants@2x.png | Bin 0 -> 96818 bytes .../promise-then-chain.png | Bin 0 -> 9400 bytes .../promise-then-chain@2x.png | Bin 0 -> 21932 bytes .../promise-then-many.png | Bin 0 -> 7098 bytes .../promise-then-many@2x.png | Bin 0 -> 16889 bytes .../04-promise-error-handling/three.js | 3 + .../11-async/04-promise-error-handling/two.js | 3 + .../04-promise-error-handling/user.json | 4 + 17 files changed, 414 insertions(+) create mode 100644 1-js/11-async/04-promise-error-handling/01-error-async/solution.md create mode 100644 1-js/11-async/04-promise-error-handling/01-error-async/task.md create mode 100644 1-js/11-async/04-promise-error-handling/article.md create mode 100644 1-js/11-async/04-promise-error-handling/getMessage.js create mode 100644 1-js/11-async/04-promise-error-handling/head.html create mode 100644 1-js/11-async/04-promise-error-handling/one.js create mode 100644 1-js/11-async/04-promise-error-handling/promise-handler-variants-2.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-handler-variants-2@2x.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-handler-variants.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-handler-variants@2x.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-then-chain.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-then-chain@2x.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-then-many.png create mode 100644 1-js/11-async/04-promise-error-handling/promise-then-many@2x.png create mode 100644 1-js/11-async/04-promise-error-handling/three.js create mode 100644 1-js/11-async/04-promise-error-handling/two.js create mode 100644 1-js/11-async/04-promise-error-handling/user.json diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md new file mode 100644 index 0000000000..0d43f55e06 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md @@ -0,0 +1,13 @@ +The answer is: **no, it won't**: + +```js run +new Promise(function(resolve, reject) { + setTimeout(() => { + throw new Error("Whoops!"); + }, 1000); +}).catch(alert); +``` + +As said in the chapter, there's an "implicit `try..catch`" around the function code. So all synchronous errors are handled. + +But here the error is generated not while the executor is running, but later. So the promise can't handle it. diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/task.md b/1-js/11-async/04-promise-error-handling/01-error-async/task.md new file mode 100644 index 0000000000..bafc47ce94 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/01-error-async/task.md @@ -0,0 +1,11 @@ +# Error in setTimeout + +What do you think? Will the `.catch` trigger? Explain your answer. + +```js +new Promise(function(resolve, reject) { + setTimeout(() => { + throw new Error("Whoops!"); + }, 1000); +}).catch(alert); +``` diff --git a/1-js/11-async/04-promise-error-handling/article.md b/1-js/11-async/04-promise-error-handling/article.md new file mode 100644 index 0000000000..3424d099e1 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/article.md @@ -0,0 +1,345 @@ + +# Error handling with promises + +Asynchronous actions may sometimes fail: in case of an error the corresponding promise becomes rejected. For instance, `fetch` fails if the remote server is not available. We can use `.catch` to handle errors (rejections). + +Promise chaining is great at that aspect. When a promise rejects, the control jumps to the closest rejection handler down the chain. That's very convenient in practice. + +For instance, in the code below the URL is wrong (no such site) and `.catch` handles the error: + +```js run +*!* +fetch('https://no-such-server.blabla') // rejects +*/!* + .then(response => response.json()) + .catch(err => alert(err)) // TypeError: failed to fetch (the text may vary) +``` + +Or, maybe, everything is all right with the site, but the response is not valid JSON: + +```js run +fetch('/') // fetch works fine now, the server responds with the HTML page +*!* + .then(response => response.json()) // rejects: the page is HTML, not a valid json +*/!* + .catch(err => alert(err)) // SyntaxError: Unexpected token < in JSON at position 0 +``` + +The easiest way to catch all errors is to append `.catch` to the end of chain: + +```js run +fetch('/article/promise-chaining/user.json') + .then(response => response.json()) + .then(user => fetch(`https://api.github.com/users/${user.name}`)) + .then(response => response.json()) + .then(githubUser => new Promise((resolve, reject) => { + let img = document.createElement('img'); + img.src = githubUser.avatar_url; + img.className = "promise-avatar-example"; + document.body.append(img); + + setTimeout(() => { + img.remove(); + resolve(githubUser); + }, 3000); + })) +*!* + .catch(error => alert(error.message)); +*/!* +``` + +Normally, `.catch` doesn't trigger at all, because there are no errors. But if any of the promises above rejects (a network problem or invalid json or whatever), then it would catch it. + +## Implicit try..catch + +The code of a promise executor and promise handlers has an "invisible `try..catch`" around it. If an exception happens, it gets caught and treated as a rejection. + +For instance, this code: + +```js run +new Promise((resolve, reject) => { +*!* + throw new Error("Whoops!"); +*/!* +}).catch(alert); // Error: Whoops! +``` + +...Works exactly the same as this: + +```js run +new Promise((resolve, reject) => { +*!* + reject(new Error("Whoops!")); +*/!* +}).catch(alert); // Error: Whoops! +``` + +The "invisible `try..catch`" around the executor automatically catches the error and treats it as a rejection. + +This happens not only in the executor, but in its handlers as well. If we `throw` inside a `.then` handler, that means a rejected promise, so the control jumps to the nearest error handler. + +Here's an example: + +```js run +new Promise((resolve, reject) => { + resolve("ok"); +}).then((result) => { +*!* + throw new Error("Whoops!"); // rejects the promise +*/!* +}).catch(alert); // Error: Whoops! +``` + +This happens for all errors, not just those caused by the `throw` statement. For example, a programming error: + +```js run +new Promise((resolve, reject) => { + resolve("ok"); +}).then((result) => { +*!* + blabla(); // no such function +*/!* +}).catch(alert); // ReferenceError: blabla is not defined +``` + +The final `.catch` not only catches explicit rejections, but also occasional errors in the handlers above. + +## Rethrowing + +As we already noticed, `.catch` behaves like `try..catch`. We may have as many `.then` handlers as we want, and then use a single `.catch` at the end to handle errors in all of them. + +In a regular `try..catch` we can analyze the error and maybe rethrow it if can't handle. The same thing is possible for promises. + +If we `throw` inside `.catch`, then the control goes to the next closest error handler. And if we handle the error and finish normally, then it continues to the closest successful `.then` handler. + +In the example below the `.catch` successfully handles the error: + +```js run +// the execution: catch -> then +new Promise((resolve, reject) => { + + throw new Error("Whoops!"); + +}).catch(function(error) { + + alert("The error is handled, continue normally"); + +}).then(() => alert("Next successful handler runs")); +``` + +Here the `.catch` block finishes normally. So the next successful `.then` handler is called. + +In the example below we see the other situation with `.catch`. The handler `(*)` catches the error and just can't handle it (e.g. it only knows how to handle `URIError`), so it throws it again: + +```js run +// the execution: catch -> catch -> then +new Promise((resolve, reject) => { + + throw new Error("Whoops!"); + +}).catch(function(error) { // (*) + + if (error instanceof URIError) { + // handle it + } else { + alert("Can't handle such error"); + +*!* + throw error; // throwing this or another error jumps to the next catch +*/!* + } + +}).then(function() { + /* never runs here */ +}).catch(error => { // (**) + + alert(`The unknown error has occurred: ${error}`); + // don't return anything => execution goes the normal way + +}); +``` + +Then the execution jumps from the first `.catch` `(*)` to the next one `(**)` down the chain. + +In the section below we'll see a practical example of rethrowing. + +## Fetch error handling example + +Let's improve error handling for the user-loading example. + +The promise returned by [fetch](mdn:api/WindowOrWorkerGlobalScope/fetch) rejects when it's impossible to make a request. For instance, a remote server is not available, or the URL is malformed. But if the remote server responds with error 404, or even error 500, then it's considered a valid response. + +What if the server returns a non-JSON page with error 500 in the line `(*)`? What if there's no such user, and GitHub returns a page with error 404 at `(**)`? + +```js run +fetch('no-such-user.json') // (*) + .then(response => response.json()) + .then(user => fetch(`https://api.github.com/users/${user.name}`)) // (**) + .then(response => response.json()) + .catch(alert); // SyntaxError: Unexpected token < in JSON at position 0 + // ... +``` + + +As of now, the code tries to load the response as JSON no matter what and dies with a syntax error. You can see that by running the example above, as the file `no-such-user.json` doesn't exist. + +That's not good, because the error just falls through the chain, without details: what failed and where. + +So let's add one more step: we should check the `response.status` property that has HTTP status, and if it's not 200, then throw an error. + +```js run +class HttpError extends Error { // (1) + constructor(response) { + super(`${response.status} for ${response.url}`); + this.name = 'HttpError'; + this.response = response; + } +} + +function loadJson(url) { // (2) + return fetch(url) + .then(response => { + if (response.status == 200) { + return response.json(); + } else { + throw new HttpError(response); + } + }) +} + +loadJson('no-such-user.json') // (3) + .catch(alert); // HttpError: 404 for .../no-such-user.json +``` + +1. We make a custom class for HTTP Errors to distinguish them from other types of errors. Besides, the new class has a constructor that accepts `response` object and saves it in the error. So error-handling code will be able to access the response. +2. Then we put together the requesting and error-handling code into a function that fetches the `url` *and* treats any non-200 status as an error. That's convenient, because we often need such logic. +3. Now `alert` shows a more helpful descriptive message. + +The great thing about having our own class for errors is that we can easily check for it in error-handling code using `instanceof`. + +For instance, we can make a request, and then if we get 404 -- ask the user to modify the information. + +The code below loads a user with the given name from GitHub. If there's no such user, then it asks for the correct name: + +```js run +function demoGithubUser() { + let name = prompt("Enter a name?", "iliakan"); + + return loadJson(`https://api.github.com/users/${name}`) + .then(user => { + alert(`Full name: ${user.name}.`); + return user; + }) + .catch(err => { +*!* + if (err instanceof HttpError && err.response.status == 404) { +*/!* + alert("No such user, please reenter."); + return demoGithubUser(); + } else { + throw err; // (*) + } + }); +} + +demoGithubUser(); +``` + +Please note: `.catch` here catches all errors, but it "knows how to handle" only `HttpError 404`. In that particular case it means that there's no such user, and `.catch` just retries in that case. + +For other errors, it has no idea what could go wrong. Maybe a programming error or something. So it just rethrows it in the line `(*)`. + +## Unhandled rejections + +What happens when an error is not handled? For instance, after the rethrow `(*)` in the example above. + +Or we could just forget to append an error handler to the end of the chain, like here: + +```js untrusted run refresh +new Promise(function() { + noSuchFunction(); // Error here (no such function) +}) + .then(() => { + // successful promise handlers, one or more + }); // without .catch at the end! +``` + +In case of an error, the promise state becomes "rejected", and the execution should jump to the closest rejection handler. But there is no such handler in the examples above. So the error gets "stuck". There's no code to handle it. + +In practice, just like with a regular unhandled errors, it means that something has terribly gone wrong. + +What happens when a regular error occurs and is not caught by `try..catch`? The script dies. Similar thing happens with unhandled promise rejections. + +The JavaScript engine tracks such rejections and generates a global error in that case. You can see it in the console if you run the example above. + +In the browser we can catch such errors using the event `unhandledrejection`: + +```js run +*!* +window.addEventListener('unhandledrejection', function(event) { + // the event object has two special properties: + alert(event.promise); // [object Promise] - the promise that generated the error + alert(event.reason); // Error: Whoops! - the unhandled error object +}); +*/!* + +new Promise(function() { + throw new Error("Whoops!"); +}); // no catch to handle the error +``` + +The event is the part of the [HTML standard](https://html.spec.whatwg.org/multipage/webappapis.html#unhandled-promise-rejections). + +If an error occurs, and there's no `.catch`, the `unhandledrejection` handler triggers, and gets the `event` object with the information about the error, so we can do something. + +Usually such errors are unrecoverable, so our best way out is to inform the user about the problem and probably report the incident to the server. + +In non-browser environments like Node.js there are other similar ways to track unhandled errors. + + +## Summary + +- `.catch` handles promise rejections of all kinds: be it a `reject()` call, or an error thrown in a handler. +- We should place `.catch` exactly in places where we want to handle errors and know how to handle them. The handler should analyze errors (custom error classes help) and rethrow unknown ones. +- It's ok not to use `.catch` at all, if there's no way to recover from an error. +- In any case we should have the `unhandledrejection` event handler (for browsers, and analogs for other environments), to track unhandled errors and inform the user (and probably our server) about the them, so that our app never "just dies". + +And finally, if we have load-indication, then `.finally` is a great handler to stop it when the fetch is complete: + +```js run +function demoGithubUser() { + let name = prompt("Enter a name?", "iliakan"); + +*!* + document.body.style.opacity = 0.3; // (1) start the indication +*/!* + + return loadJson(`https://api.github.com/users/${name}`) +*!* + .finally(() => { // (2) stop the indication + document.body.style.opacity = ''; + return new Promise(resolve => setTimeout(resolve)); // (*) + }) +*/!* + .then(user => { + alert(`Full name: ${user.name}.`); + return user; + }) + .catch(err => { + if (err instanceof HttpError && err.response.status == 404) { + alert("No such user, please reenter."); + return demoGithubUser(); + } else { + throw err; + } + }); +} + +demoGithubUser(); +``` + +Here on the line `(1)` we indicate loading by dimming the document. The method doesn't matter, could use any type of indication instead. + +When the promise is settled, be it a successful fetch or an error, `finally` triggers at the line `(2)` and stops the indication. + +There's a little browser trick `(*)` with returning a zero-timeout promise from `finally`. That's because some browsers (like Chrome) need "a bit time" outside promise handlers to paint document changes. So it ensures that the indication is visually stopped before going further on the chain. diff --git a/1-js/11-async/04-promise-error-handling/getMessage.js b/1-js/11-async/04-promise-error-handling/getMessage.js new file mode 100644 index 0000000000..6c5893433a --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/getMessage.js @@ -0,0 +1,3 @@ +function getMessage() { + return "Hello, world!"; +} diff --git a/1-js/11-async/04-promise-error-handling/head.html b/1-js/11-async/04-promise-error-handling/head.html new file mode 100644 index 0000000000..a0b7419623 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/head.html @@ -0,0 +1,29 @@ + + + diff --git a/1-js/11-async/04-promise-error-handling/one.js b/1-js/11-async/04-promise-error-handling/one.js new file mode 100644 index 0000000000..948a60e075 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/one.js @@ -0,0 +1,3 @@ +function one() { + alert(1); +} diff --git a/1-js/11-async/04-promise-error-handling/promise-handler-variants-2.png b/1-js/11-async/04-promise-error-handling/promise-handler-variants-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e9f08a85a4dc2482a3a3eb45517f61373a04c7 GIT binary patch literal 23357 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

Mf26atQtrCExuF!o!9d3lH+A)X$8ii~S&8Wx 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 nt4>-HGgb8P08R;*oFJ2%9ym*12_7WAI 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 literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/promise-handler-variants@2x.png b/1-js/11-async/04-promise-error-handling/promise-handler-variants@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9292fcbf61ad24a9cdfa0b06eaf42e9826e235d GIT binary patch literal 96818 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 literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/promise-then-chain.png b/1-js/11-async/04-promise-error-handling/promise-then-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..fab8a92ad48112628e990cd8c15ac695f1d81550 GIT binary patch literal 9400 zcmd6tbx>Skm*#N^?$9)@!KD-2=|+MFXk3Ce1ZW&WaCdh}2<{MqhTxK*!QI_GK>|!? zzOSaHc4um8XLqXhujke|r|MSS^UCi&?;EM1rhxYh@C*qF2~SB;UJIeINJz+%SQv<> zTF>M`gdn?WDaayKj{^6RkeFSRzD? zIED&}%w(k9Qhj7(YWGnI$s>7|mKT46fA&QWan$nga=WKiS7;?P(DQ1dp#`Q5Xqh-n zPE05WxOND#z!nNsvx@mh+Ar@}TzB5@zP}uKx*zi#RbkzQ!!cj4=eeEZ)8^qHv!b+R zAD7M>#{?MQ@2;5t#1+Yqc_}QjcJX+vg%<@<3t+61K#>RdsFe0%Ba{s(agG+5F;;?A zdjk!jBms(V?LwSx^c7d1t{o2y;0;iDO*b=;Gb^5EMWA zP@`>lyot(SPP4wAuP#$_kI`D1zdapQZ4&faiYCktl{UEXSggS)KN}DM;z41p;%eCpb_P*@9p_)5PM zdV5VT_RfsJNZ6GaqV88_(o#SZx5*sNUxK&)lS++70?o$nQHF8kR#2)Z(8&o`I3B;Le4*oz?rbyASg}=WZ>mU4oZn9r5)-G``2c^o=*VA7-_&?* zjIOTch2Q9;hv$ol+wYpq*zg43&MvK&9h8zdZ~EB)HLWm7yOnfe1K$1mpkZLdY|d}j z?bf?PR2E0|Bkz9RIz}rzAQyG={;=dt0JLS-uP+v+{Hj`RbcSGUoXEm_@F*01cSFQ3 z?5=_`p#2)p--nm#PW+5-SU(H9r(YcP!{fEOFa|r?Y5>xWXBVuD))hCJoXfbwg=h*u z_k1;nmxxIn>`i6s-mWD`av<)1XA@bg-X~6=9^*rPN&T_7Tq}ug=@K0{-$c@{mWj^G zQW?;h;8E*fjFBVUOx{rJ zQ3JWW<#LPPBQW=B@I0QU7|oUB$$k1!fGIQEPjE*Nhn5GG`7KG%DX}iW@+LIIBOzxv z!hO%wv^%WS`&I)lP6XDcyQwBLQ!-Q&(lY?U=1m)z4ri|o z-qWZ(dJ#IlNon@D{p5xo79wd~wW=Mqzi|6oH7W1c?~tC!WIr5-gZWRW9i3(sQIU%D z&ly^jqpD>WJ=}w#WDrtFh=4_%cHgYj&xKK;k33G?Zy9?O2R|(eJp=|;>voQzwSJW}|lrX(Fn$hlwfs_);j$kIGwVhd1 z%JaGKulacEUM3_g;H8wnpKC0VNDcB#$mCm*~X@8*8hp~ z=yrp|EvjS6UG>AI*gj8a;tpF350PS)*>JsBHPR8|+)YWtWbLYWFzSs|k66d-rg8K$ zS!Z05%Rl1jCuVar>-Vr%%p_puB{sUXOU4+J&61I{lLSAJUlRCvQb-QerltLXo_r=~ z7OYPt*D3ufx9W3s?lf&5TIHkqWBBAC;GUkIyv7-rT5)5ty&4X|OhenrJb>3+XSp)r zMEvARFg6UXlsIOILI+HFC&2%WtF?6M0P@*e@u$wthRvA@D{ouvngkEaXe2OTzBLS&2@MNb zHh_@+f0e+mxPfAKJ9$EHjQC(U zVO#5%V11cF&6KZO=3I#oT0e~xGI;>F?)+VC3m32=GU4!Tuz+X4^oCP z!mEzDRt?ROiKDs@?*PPm3x|)!k^~z4yOE({^VQ)JNlBCvdW3zMpA25OH?DtMXwf;R zEW0a3lL6IbW_aiDyeiPjK3?H`7PHqZ-+N0&kV0!Y`9|xrjCAg&cx6cM=-TH7;jwaI z3M;7!=?0J_)1jDdym6>?S6kF(Z@Bap51hkK|BZoe8d#xR@?9KOw|EX34{(*KCGd6E zx2%-&eQQ>A)eHb@#CB#5dz`#C-oXU}+&*!%NhnQt$5 z^mP18rcGi1Lz+*&+{0E6s;Q#2;LlpIy;O*#=-lz9cyiy)X$c9|>+5y9{&`|4w)AzX zpktdK+79R-uvxt(8GiFtV!kSOzJ9erNh!vgY`1Z>WuEYBVV;Qs-pMBca@az2rwM@g zp0QI7yf(V_KI0V?hCOcmd-U;~A=la$e4kz`Fb^~4s9hIKg(wlJBsngI`JVIcBH&#Euyrwb>@ahb^026nlNP>E-k zzVCzGOzS>Z6wR*ot5O)lJADDMzh*zt$317SQZ^Gv)1`j%AQMu8M%YotU3L$dpi@z~ zZ~j=_>&#Q@`4yGYq4%q45CI1CHYT8+)S|FHefC#Tln&kq9;H%%>J+(ML@B7r`d#|7_v z+s!TZ?VswmbH2NtniXc7jT@SnOyW4qmIo}_Kesl}W-`I&-t62x{csM+dXF5dmxt9TOP%g0%}PqJ z`I(c1hI(c-nyYWNJnQ(Wv~M)eYKxX)9sG~-`MR|})0^$*aot}x0(p1Vtbkch4mv2* zIRXqmd!eXuctbVsBv?T#&S7-XTE>_amwYJ413YEi$>?Zq;sMpX{CUk+V$5Xe<{5-B z=6={Kb??7#RWrxE?ufsprI7a`V;VAemEHR#zS-S-F$z}I^<|%S#jz(B&3v8IHf*z z!6-x{!oR9#?9Kv~dX(Ls|MO~hFoYJjG&@z6G$W?3@_ulv!t%0QDt|*5Cd1+pUbxYs z=eAV;{CpgeJpLYedmuPSR5=>Qk|*LIcsVoE_vd;pe5x&Xdvc?ogm0Ovu8SjS)1Fzy z)Ze%>Y++)-NgQ9YauWqHEjzN3kfS{Z3w#_tm#&7Tc6y9jSre^n)JN=Ubw5c^oiXZ#QGSbj@)2mBQZ!FBVvX${ z9kO$5_3LJ`*1W+i*`QTdSv2{Ym7#MW+|$}Rb+g9{_hEW|ldtsl{dRM)@BXrM7VB3w zAH@_XqeS7BIkMz~{b~8NzX|0Cd8GIvkFcAaE7oSYU(u}n#fj2Bn@ye6bBX&WE^la~ zU~>JrM^)F&_tY>?C7POekY^;F(;^bw>v?nDm=`*`D$zim)#q%15ujA- zgAp=79p`DB=r!~W=d#6P0D7s8#N& z+4v)(O6^@`ZgzNzsvx84E2I1w{s~HBZS#IPWKOY&W?z!@9tQFl1O^aW$B_CQ?8?D~%Xq@hh=I+w(y}n7A}R2|PL8U-1by zv0ttb#1Ssh|*lwn3hAD2EPs~B6oni&# z0R+hqt?+RS(_-GUw33c0WTJhy0BPr?JxBbgvWWj3BmP6S_(u>x4_A0fGi+v~v0*DH z1flKmaw%VC;2x#+`L~GSW-*|$e@C;yGFs^{DVI&`r_y3>LQswcCN`PyU)sTCNLpl& zF02aHWQ^dsS;kL zYJwI@adB*5+~S4LlPhHpJ&8q^&$50ut@pkvle?{^mCFyJfl^5gtqF*_&>}=b{w!&P z&Cw8V`D@R{B#1}C4$4UiMs6QAAQ-?u4IN#6*Hb&5{L#3CXJ%3?Zu{OvDxA8A1+MO; zPD%9wFKD4Ld5ap#9XBqJr5?9%L5a;6$%2=H=qH!hdB41+j>^FZ2mz@V=ud!%j(y*`^pGO5git4 zvq()(GYZeCqU$VR>hDgO$63ERXVQQV7Nv$&iaJ6OEo7VsWXLBZHJ~Q@6D(UOz6iZn z7;@$?e6SUL@8MW&nS+Rh1aTo{s zWq(IJ63*lcy8YvS&N21JbGhYY%x~+56t>gF#61M&O1`N3THb{G z6l>^sM1mZ7&X|x%!=kLXRV!%`KZLqsv9_&k7z@yr`fL0E5M}wz$=fxaF&0$_W&|%L zz<;x>>W7REy?2H#J2=hW6uB*`=A&|;BUoKaoP|j&5+vXfrlrC#!QS^;;B&Gf6O#>l zAL&1nR?b5XEl=r0JeJBNSQ>>e6d*AXN(d5zG#251EH03>xb_w{8?&W`s+;NYo;vRP zt+2|$AAMD`EbkbPywmXqJj2uT7uNHj+yt@m0Phe^hAi} zNm6*-|8??m0d&KeHU)<-rnl^TJkoZI z6H^)A7_7V z2I{$wCZAJ6AS{YM|3@_wm@YMjZ1m%%bC97kPu}zxhX!}-*!R1*Tyul>!!^S}-ed!j z1cBd;*R=l#w7sdHxYi`dmR<_6^6QMu*SiK*j74fBrrhqMa(y7CXh?tE71aCXXu0Xv zeDte@!r`~Do$i$8bE%8AJCS;`cQkBjz_5X*UUllTuOj|`?D-)zLTH-3N~a&i8Z!qY zH=4x9xRn&gB!}HzuoWE^glEZ{H)T!U_S?K|na^pAJJ`tf!T3c?zVL^&y~PHut*~!3 z%Bbo?G-qi0#x!p;JgPI7Kd?3>_X^O%Whw*Oy#T(&i`knZ!md{&9HuK`Rf)pFw)2_7 z1gU=-4k-LOd~sATQ`T>Yyx9vkvhJMy9Pi55C`bII>4-_whn}I{D{e7g^Im>KK8wjw zJAJlsmmZg?*HE$h%?sPp9x9SpMaG$JkXR=2yZm5Y?;ySr$!1yVW`W{c27U=2Rus-+ zRuw(Yj8LJumNWz?%MXyVSXp*>9xi#V-Ov;4PSgBG;AEMe2gV^qlyyGjL(B1SmFURA z+Eyhev0$TrC!pw{U665Bi~B4{xn>3EvCY|^zyDD_Ya#2jQhBGf)pwdS@!3>quvaZ5 zX$VW0dJ8?-gPWT(IBAJ{{BJ6p0#n;%_ zZvS;k*znFsT{)@m6$l8DvSG4ssFcr8o`l|9?V*%v`wz$X7yE?yX%XnI*kN7^^f@N8 zKEIxLlEG!ymWv+w0j+`|t9*ZEAk|UC2sl_Z+-bNG4NP(W@ zsyOCQ4j=f8wB@pu1s1tZC3=%U8TRWQK-zQf56dnTBfbWfhAba2=l!UOnyD2xJ$}1U zKS+lsQ6U`WOc8nP9YR>j8cXK9Vqs#YT#A`mfv1=<-=o@s9#F^{DI)|M|E*a)M1JG- zl`;EJLvqD!Wy0`SM-wMhBXChYgv>3j%Cel*l+>v|-(|ncx+j=#!;I>Fj+F^BOJxy- zWv9%?WzwD@Q=f%WH4BWS`=P=0GT}1}QV5IWoDziq3Zgk;Gz?e!4lb$?u|TIR5{EXH zLB8e)5I247)Kr7*<_iSEOlozT`9MF#3W2E@V=)z(%4|g!ymbD7KdNAAr|7?IlL*n; z6khN${u@pJ#UZL8f2)<4%F5{++64YmkqThZcC+dqOr&_gw*c=X^BS65oe79=6P5lb z?C2(h*{3c4pDoJ&*@FF33+-gjzXj)a;bzMFl$0=}hf^gOZF1nZ&lyM`dp=SL1O%zT z!#cMg4vRQQVL1$77cqpha=DY99hc;}`SUOvsub-8&^P(d|?MLq5ETvPDN%I9Cys=xa_L#Q8ngP7^Gd*=Z zKKZUqD|~OSm~CgvqOY&wEN?M*F5(q>!_+#TS^KHM*(0X0srbavJ-(v*H z2TYl*j2~+Sbv*4h)2=0gq%fna&KnqS&sJt+08YpMLmWED(BUaT5C_-^Ei6PW!Jv42uXcztIAE<&E3?K_I#;El@7MHZ+KNLt1(HH7c7iw>ZHm&umXx!*x1xlQz!j zG680*w^?}?djMzY#>O?dX7VD!RPByrx?dBAP`@;@E^96S{Ntqy*@CIEOT*R6`M!05 zcHwI(2-VjY1}r!j3Xd2byKjT1oxX*QQZVdDY5|A;4sNrn{g}Vb7j) z-M&2{5e33uDs=A3loXC|7rI3kHewt!c5nJ-yqP}XAQXyUN{Sf4%I7IDN6Zu7zf&pm zhbk73s{i<|#uyuulTZ5kpUIRy?xyWWQ%G~db5(lj#A0l?;(s~I0-y|V1=HVG9L!F+ zD(4ji;TCDWE^@ltTN^Wn#1AoRe;J5k^naRxs?-2~&g1-)(!*;cticsYtj2UCndR}1 zD;6{F^fZ-?rUd?wmh>w0`RFx3E9`Y9u-Yht?Ad2Wk~x^zC$Gl|kl02Q?s;54?LB_c z6%Z|1v{Fuf+EyD^V6j+r!3gZbcI<1ho%%Pzp~@hqyX34lGwE~QkfV2@5GL#3;^*e% zG^V?*#qL!N(m#_M2w^=O_+Wi4Ld20IAmtmdeg159sLV{}jlr)I!}}u|QU@*TMv$wy z^3n~Rx5-0}KHs-E5;pvvP5+G&yqo15smBJ&f?4Vy_KiZ%pEQdq;1d6#%cZ1{tD_#3 z^m=9h?)#|oH3Pz1p`X7ZM-P(QBvJkWG&taY4>V*x7SiB5YRu8Z&k)2YrHjy7{5juX(1x$hOHXcfP6eYZBJVzP)n{PF`;AoQODX<-zZMr@G&0e%zIc=RiG|qQg20 z-^^20nzCnw0(^HG1)B~)_QA>Z)r!M&kI42ZU zKJ>rln_8x<<`=**tDE02PmjL_T0coB zT1oj?tBWmeYlVh?$2va^b*WaeETDbZaaUgDG45skNw3sD8LI>0O${8!qoKW6Oa3^& z>x7E7aFJ~+vLK7DZ5hF4;XD3@skPSTl_36;!PLty*?4s`R!UPcOG1@u2Jf#Zi`fzE z)el+kfX9HW|Ju({lJ5W}$7A!~4Oqk$&rHBgX1O!Jf;aPXfpDkV&$=R|6ddl^Af>Vo zdD~z|(O*WFvC}$Gt*cF5?Yxl=w`!F=^DZT)?;Ksu-?e~+)!pZ6WmFtv`j*0Hz7)HW zbOs4f7@Fn{FPHx!qy5OSWlx&jB0(5AkT%jjzA59h>I^u~y=IBXy0)st+~+a>U;P8EU=%4|ee z9)A6Mt9VvcpkA3T3lxo1DQUmE!(cTTqc}+nEp?9pK`3-6^Bdcvr?(Ab6(>H1YIPwf=-7ibb7TH|hC&db^53eO2)Sy3-n$Pt?j zEn{q9zw?*#*1utT7!ZL!F@LL*AX++73tm=#@h1b+INonqfY>a13KOTyzjXNvk^c8V zC!mQ5VfL8o|22D{|7!NEV*S(XS#|mU%j|)#k5m#sgOrb%G9~UZ(?7n7m((&LMZXcS zmjH^jQHXjT;`Kn(gFJFu_0&&=(@uvTfQ~6?f6uVZEvGxTMnGqe=t!jxLNWIH`#_2W$coV<6T&a&3$gGThmL+!n1MPwW1rckJESE zkH#Xp`j0<8(EqMi<#RmX^73}(Knq1Q7tj5$I_*C)dk!)hzU3hLNb!w`lK7cSeuHM0 z6ubOjy>COjJA=gD%&uPy{_9RDcFH?EATD~xl*j{o1$wr&woW*6Zc;Xqpg9h|eS@5m zN~+Ht0i?!RX1bHp3m^U2U}GxmdDpDNT7v7YPJ0zrW4hdW4ami}E3c?rcvWo*Ce8`y z@isLa0{zqHS<>aWyv8X_hBeHY?Nm<}#HF;jRXZoS}(83+3s9|~N?~`!UWpTb~Gty479cLPs=+Yk! zHGZh;y@|eX+5$XkzIttAoq0>@mS@MjEG-7_vX3_4VBMSqtb&+jm+U0;U?zXmuda<< z2Tdk&yU~P~-QrlMz8_v6V&HqD%pKn~x@UUr7NucKA+EQWFXZ&8Ee=)%ajg)gEoS>5 zJlC)EkdOUZs_sS1O*B|Sx=rTZ-kC%oFV5qF=@+Cw-mPBj(1HP&juXvmDs;f!*6cqh zK%S+I>ej`T>ho9ojoGr8+RqR;UgV_=@gRm-Zs8VX$QEiwl~`J`B|;#h8d1;xnH=0m uTXcEiWitAn!bNxO%HJu2}ud8CSNUU7W6NT*PZ+T literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/promise-then-chain@2x.png b/1-js/11-async/04-promise-error-handling/promise-then-chain@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..421b593599259f667b5abc7e2338cb7b38cfe3d7 GIT binary patch literal 21932 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 literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/promise-then-many.png b/1-js/11-async/04-promise-error-handling/promise-then-many.png new file mode 100644 index 0000000000000000000000000000000000000000..b13d20a9efe87e2f6520883ed2b14b4b1c2974ed GIT binary patch literal 7098 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 literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/promise-then-many@2x.png b/1-js/11-async/04-promise-error-handling/promise-then-many@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dccc553f8b457e3444ad2fdd630d89d4f69f71eb GIT binary patch literal 16889 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 literal 0 HcmV?d00001 diff --git a/1-js/11-async/04-promise-error-handling/three.js b/1-js/11-async/04-promise-error-handling/three.js new file mode 100644 index 0000000000..8536e85a18 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/three.js @@ -0,0 +1,3 @@ +function three() { + alert(3); +} diff --git a/1-js/11-async/04-promise-error-handling/two.js b/1-js/11-async/04-promise-error-handling/two.js new file mode 100644 index 0000000000..b04795b86c --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/two.js @@ -0,0 +1,3 @@ +function two() { + alert(2); +} diff --git a/1-js/11-async/04-promise-error-handling/user.json b/1-js/11-async/04-promise-error-handling/user.json new file mode 100644 index 0000000000..32f89971a8 --- /dev/null +++ b/1-js/11-async/04-promise-error-handling/user.json @@ -0,0 +1,4 @@ +{ + "name": "iliakan", + "isAdmin": true +} From 0e37efd751b8d3bdd20ef1fa34c784e7659f68ea Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Wed, 17 Jul 2019 22:31:13 +0800 Subject: [PATCH 2/7] Translate task.md --- .../11-async/04-promise-error-handling/01-error-async/task.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/task.md b/1-js/11-async/04-promise-error-handling/01-error-async/task.md index bafc47ce94..8ecac5cbae 100644 --- a/1-js/11-async/04-promise-error-handling/01-error-async/task.md +++ b/1-js/11-async/04-promise-error-handling/01-error-async/task.md @@ -1,6 +1,6 @@ -# Error in setTimeout +# setTimeout 里的错误 -What do you think? Will the `.catch` trigger? Explain your answer. +你怎么看?`.catch` 会触发么?解释你的答案。 ```js new Promise(function(resolve, reject) { From bf982b1d98a06e8b7ae6d0ba5f4aecc480af42ca Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Wed, 17 Jul 2019 22:39:11 +0800 Subject: [PATCH 3/7] Translate solution.md --- .../04-promise-error-handling/01-error-async/solution.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md index 0d43f55e06..9f5fe05323 100644 --- a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md +++ b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md @@ -1,4 +1,4 @@ -The answer is: **no, it won't**: +答案是:**不,它不会触发**: ```js run new Promise(function(resolve, reject) { @@ -8,6 +8,6 @@ new Promise(function(resolve, reject) { }).catch(alert); ``` -As said in the chapter, there's an "implicit `try..catch`" around the function code. So all synchronous errors are handled. +正如本章所述,函数代码周围有个 “隐式 `try..catch`”。所以所有同步错误都被处理。 -But here the error is generated not while the executor is running, but later. So the promise can't handle it. +但是这里的错误并不是在执行阶段生成的,而是在其之后才生成错误。所以 promise 无法处理它。 From c8f4624ea99a021bd140d6f39c31647016eeac99 Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Thu, 18 Jul 2019 20:38:54 +0800 Subject: [PATCH 4/7] Translate article.md --- .../04-promise-error-handling/article.md | 154 +++++++++--------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/1-js/11-async/04-promise-error-handling/article.md b/1-js/11-async/04-promise-error-handling/article.md index 3424d099e1..cf4746732a 100644 --- a/1-js/11-async/04-promise-error-handling/article.md +++ b/1-js/11-async/04-promise-error-handling/article.md @@ -1,31 +1,31 @@ # Error handling with promises -Asynchronous actions may sometimes fail: in case of an error the corresponding promise becomes rejected. For instance, `fetch` fails if the remote server is not available. We can use `.catch` to handle errors (rejections). +异步操作有时候可能会失败:如果出现错误,相应的 promise 就会 reject。例如,如果远程服务器无法访问,`fetch` 就会失败。我们可以使用 `.catch` 去处理这些错误(rejections)。 -Promise chaining is great at that aspect. When a promise rejects, the control jumps to the closest rejection handler down the chain. That's very convenient in practice. +Promise 链在这方面做的很好。当 promise 被 reject,控制权就移交给链中最近的 rejection 处理程序。这在实际应用中很方便。 -For instance, in the code below the URL is wrong (no such site) and `.catch` handles the error: +例如,下面代码中的 URL 是错误的(没有这个网站)此时 `.catch` 可以处理这个错误: ```js run *!* fetch('https://no-such-server.blabla') // rejects */!* .then(response => response.json()) - .catch(err => alert(err)) // TypeError: failed to fetch (the text may vary) + .catch(err => alert(err)) // TypeError: failed to fetch (文字可能有所不同) ``` -Or, maybe, everything is all right with the site, but the response is not valid JSON: +或者可能有这样的情况:网站一切正常,但是相应数据不是一个合法的 JSON: ```js run -fetch('/') // fetch works fine now, the server responds with the HTML page +fetch('/') // 目前 fetch 能正常工作,服务器响应 HTML 页面 *!* - .then(response => response.json()) // rejects: the page is HTML, not a valid json + .then(response => response.json()) // rejects:页面是 HTML,不是合法的 json */!* .catch(err => alert(err)) // SyntaxError: Unexpected token < in JSON at position 0 ``` -The easiest way to catch all errors is to append `.catch` to the end of chain: +捕获所有错误最简单的方法是在链的末端加上 `.catch`: ```js run fetch('/article/promise-chaining/user.json') @@ -48,13 +48,13 @@ fetch('/article/promise-chaining/user.json') */!* ``` -Normally, `.catch` doesn't trigger at all, because there are no errors. But if any of the promises above rejects (a network problem or invalid json or whatever), then it would catch it. +通常情况下 `.catch` 根本不会触发,因为没有错误发生。但是如果上述任意一个 promise reject(网络错误或者不合法的 json 等等),它就会被捕获。 -## Implicit try..catch +## 隐式 try..catch -The code of a promise executor and promise handlers has an "invisible `try..catch`" around it. If an exception happens, it gets caught and treated as a rejection. +Promise 执行(executor)和 promise 处理(handler)程序周围有一个“不可见 `try..catch`”。如果发生异常,它会被捕获并视为 rejection。 -For instance, this code: +例如,下面的代码: ```js run new Promise((resolve, reject) => { @@ -64,7 +64,7 @@ new Promise((resolve, reject) => { }).catch(alert); // Error: Whoops! ``` -...Works exactly the same as this: +……与下面代码完全相同: ```js run new Promise((resolve, reject) => { @@ -74,48 +74,48 @@ new Promise((resolve, reject) => { }).catch(alert); // Error: Whoops! ``` -The "invisible `try..catch`" around the executor automatically catches the error and treats it as a rejection. +在执行程序周围 “不可见 `try..catch`” 自动捕获错误并视它为 rejection。 -This happens not only in the executor, but in its handlers as well. If we `throw` inside a `.then` handler, that means a rejected promise, so the control jumps to the nearest error handler. +这不仅仅发生在执行程序上,同样也发生在处理程序上。如果我们在 `.then` 处理程序里 `throw`,这意味着被 rejected 的 promise,因此控制权移交最近的错误处理程序。 -Here's an example: +这里是它的例子: ```js run new Promise((resolve, reject) => { resolve("ok"); }).then((result) => { *!* - throw new Error("Whoops!"); // rejects the promise + throw new Error("Whoops!"); // rejects 这个 promise */!* }).catch(alert); // Error: Whoops! ``` -This happens for all errors, not just those caused by the `throw` statement. For example, a programming error: +所有的错误都会发生这种情况,而不仅仅是由 `throw` 语句导致的这些错误。例如,一个编程错误: ```js run new Promise((resolve, reject) => { resolve("ok"); }).then((result) => { *!* - blabla(); // no such function + blabla(); // 没有这个函数 */!* }).catch(alert); // ReferenceError: blabla is not defined ``` -The final `.catch` not only catches explicit rejections, but also occasional errors in the handlers above. +最终的 `.catch` 不仅会捕获明确的拒绝,而且会捕获上面上面处理程序中可能会出现的错误。 -## Rethrowing +## 重新抛出(Rethrowing) -As we already noticed, `.catch` behaves like `try..catch`. We may have as many `.then` handlers as we want, and then use a single `.catch` at the end to handle errors in all of them. +正如我们已经注意到的, `.catch` 表现得像 `try..catch`。我们可能有许多的 `.then` 处理程序,然后在最末端使用一个 `.catch` 处理上面的所有错误。 -In a regular `try..catch` we can analyze the error and maybe rethrow it if can't handle. The same thing is possible for promises. +在常规 `try..catch` 中,我们可以分析错误,当我们无法处理的时候可能还会重新抛出(rethrow)它。对于 promise 来说也可以这样做。 -If we `throw` inside `.catch`, then the control goes to the next closest error handler. And if we handle the error and finish normally, then it continues to the closest successful `.then` handler. +如果我们在 `.catch` 内 `throw`,此时控制移交到下一个最近的处理程序。如果我们处理错误并正常完成,那么它将继续到最近的成功的 `.then` 处理程序。 -In the example below the `.catch` successfully handles the error: +在下面例子中 `.catch` 成功处理错误: ```js run -// the execution: catch -> then +// 执行:catch -> then new Promise((resolve, reject) => { throw new Error("Whoops!"); @@ -127,12 +127,12 @@ new Promise((resolve, reject) => { }).then(() => alert("Next successful handler runs")); ``` -Here the `.catch` block finishes normally. So the next successful `.then` handler is called. +这里 `.catch` 块正常完成。因此就会调用下一个成功的 `.then` 处理程序。 -In the example below we see the other situation with `.catch`. The handler `(*)` catches the error and just can't handle it (e.g. it only knows how to handle `URIError`), so it throws it again: +在下面的例子中,我们可以看到 `.catch` 的另一种情况。`(*)` 行的处理程序捕获错误但无法处理它(例如,它只知道如何处理 `URIError` 错误),所以它将错误中心抛出: ```js run -// the execution: catch -> catch -> then +// 执行:catch -> catch -> then new Promise((resolve, reject) => { throw new Error("Whoops!"); @@ -145,31 +145,31 @@ new Promise((resolve, reject) => { alert("Can't handle such error"); *!* - throw error; // throwing this or another error jumps to the next catch + throw error; // 抛出这个或者其他的错误跳转到下一个 catch */!* } }).then(function() { - /* never runs here */ + /* 此处不会运行 */ }).catch(error => { // (**) alert(`The unknown error has occurred: ${error}`); - // don't return anything => execution goes the normal way + // 不会返回任何内容 => 正常方式执行 }); ``` -Then the execution jumps from the first `.catch` `(*)` to the next one `(**)` down the chain. +然后执行从第一个 `.catch` `(*)` 跳到链中的下一个 `(**)`。 -In the section below we'll see a practical example of rethrowing. +在本章的下面,我们将会看到重新抛出的实例。 -## Fetch error handling example +## Fetch 错误处理示例 -Let's improve error handling for the user-loading example. +让我们改进用户加载(user-loading)示例的错误处理。 -The promise returned by [fetch](mdn:api/WindowOrWorkerGlobalScope/fetch) rejects when it's impossible to make a request. For instance, a remote server is not available, or the URL is malformed. But if the remote server responds with error 404, or even error 500, then it's considered a valid response. +当请求无法发出时,[fetch](mdn:api/WindowOrWorkerGlobalScope/fetch) reject 会返回 promise。例如,远程服务器无法访问,或者 URL 异常。但是如果远程服务器返回响应错误 404,甚至是错误 500,这些都被认为是合法的响应。 -What if the server returns a non-JSON page with error 500 in the line `(*)`? What if there's no such user, and GitHub returns a page with error 404 at `(**)`? +如果在 `(*)` 行,服务器返回一个错误 500 的非 JSON(non-JSON)页面该怎么办?如果没有这个用户,GitHub 返回错误 404 的页面又该怎么办呢? ```js run fetch('no-such-user.json') // (*) @@ -181,11 +181,11 @@ fetch('no-such-user.json') // (*) ``` -As of now, the code tries to load the response as JSON no matter what and dies with a syntax error. You can see that by running the example above, as the file `no-such-user.json` doesn't exist. +到目前为止,代码试图以 JSON 格式加载响应数据,但无论如何都会因为语法错误而失败。你可以通过执行上述例子来查看相关信息,因为文件 `no-such-user.json` 不存在。 -That's not good, because the error just falls through the chain, without details: what failed and where. +这有点糟糕,因为错误只是落在链上,并没有相关细节信息:什么失败了,在哪里失败的。 -So let's add one more step: we should check the `response.status` property that has HTTP status, and if it's not 200, then throw an error. +因此我们多添加一步:我们应该检查具有 HTTP 状态的 `response.status` 属性,如果不是 200 就抛出错误。 ```js run class HttpError extends Error { // (1) @@ -211,15 +211,15 @@ loadJson('no-such-user.json') // (3) .catch(alert); // HttpError: 404 for .../no-such-user.json ``` -1. We make a custom class for HTTP Errors to distinguish them from other types of errors. Besides, the new class has a constructor that accepts `response` object and saves it in the error. So error-handling code will be able to access the response. -2. Then we put together the requesting and error-handling code into a function that fetches the `url` *and* treats any non-200 status as an error. That's convenient, because we often need such logic. -3. Now `alert` shows a more helpful descriptive message. +1. 我们为 HTTP 错误创建一个自定义类用于区分 HTTP 错误和其他类型错误。此外,新的类有一个构造函数,它接受 `response` 对象,并将其保存到 error 中。因此,错误处理(error-handling)代码就能够获得响应数据了。 +2. 然后我们将请求(requesting)和错误处理代码包装进一个函数,它能够 fetch `url` *并* 将所有状态码不是 200 视为错误。这很方便,因为我们通常需要这样的逻辑。 +3. 现在 `alert` 显示更多有用的描述信息。 -The great thing about having our own class for errors is that we can easily check for it in error-handling code using `instanceof`. +拥有我们自己的错误处理类的好处是我们可以使用 `instanceof` 很容易的在错误处理代码中检查错误。 -For instance, we can make a request, and then if we get 404 -- ask the user to modify the information. +例如,我们可以创建请求,如果我们得到 404 就可以告知用户修改信息。 -The code below loads a user with the given name from GitHub. If there's no such user, then it asks for the correct name: +下面的代码从 GitHub 加载给定名称的用户。如果没有这个用户,它将告知用户填写正确的名称: ```js run function demoGithubUser() { @@ -245,78 +245,78 @@ function demoGithubUser() { demoGithubUser(); ``` -Please note: `.catch` here catches all errors, but it "knows how to handle" only `HttpError 404`. In that particular case it means that there's no such user, and `.catch` just retries in that case. +请注意:这里的 `.catch` 会捕获所有错误,但是它仅仅“知道如何处理” `HttpError 404`。在那种特殊情况下它意味着没有这样的用户,而 `.catch` 仅仅在这种情况下重试。 -For other errors, it has no idea what could go wrong. Maybe a programming error or something. So it just rethrows it in the line `(*)`. +对于其他错误,它不知道会出现什么问题。可能是编程错误或者其他错误。所以它仅仅是在 `(*)` 行重新抛出。 -## Unhandled rejections +## 未处理的 rejections -What happens when an error is not handled? For instance, after the rethrow `(*)` in the example above. +当错误没有被处理会发生什么?例如,在上面例子中 `(*)` 行重新抛出后会发生什么? -Or we could just forget to append an error handler to the end of the chain, like here: +或者我们忘记将错误处理程序添加到链末尾,就像这样: ```js untrusted run refresh new Promise(function() { noSuchFunction(); // Error here (no such function) }) .then(() => { - // successful promise handlers, one or more - }); // without .catch at the end! + // 成功的 promise 处理程序,一个或多个 + }); // 结尾处没有 .catch! ``` -In case of an error, the promise state becomes "rejected", and the execution should jump to the closest rejection handler. But there is no such handler in the examples above. So the error gets "stuck". There's no code to handle it. +如果出现错误,promise 的状态变为 “rejected”,此时执行程序应该跳转到最近的 rejection 处理程序。但是上面例子中并没有这个处理程序。因此错误会“卡住(stuck)”。没有代码来处理它。 -In practice, just like with a regular unhandled errors, it means that something has terribly gone wrong. +在实践中,就像常规的未处理错误一样,这意味着某些东西出了问题。 -What happens when a regular error occurs and is not caught by `try..catch`? The script dies. Similar thing happens with unhandled promise rejections. +当一个常规的错误发生且未被 `try..catch` 捕获时会发生什么呢?脚本死了。类似的事情也发生在未处理的 promise rejections 上。 -The JavaScript engine tracks such rejections and generates a global error in that case. You can see it in the console if you run the example above. +JavaScript 引擎跟踪此类 rejections,在这种情况下会生成一个全局错误。如果你运行上面代码,你可以在控制台(console)里看到。 -In the browser we can catch such errors using the event `unhandledrejection`: +在浏览器里,我们可以使用 `unhandledrejection` 时间来捕获这类错误: ```js run *!* window.addEventListener('unhandledrejection', function(event) { // the event object has two special properties: - alert(event.promise); // [object Promise] - the promise that generated the error - alert(event.reason); // Error: Whoops! - the unhandled error object + alert(event.promise); // [object Promise] - 产生错误的 promise + alert(event.reason); // Error: Whoops! - 未处理的错误对象 }); */!* new Promise(function() { throw new Error("Whoops!"); -}); // no catch to handle the error +}); // 没有 catch 处理错误 ``` -The event is the part of the [HTML standard](https://html.spec.whatwg.org/multipage/webappapis.html#unhandled-promise-rejections). +这个事件是 [HTML 标准](https://html.spec.whatwg.org/multipage/webappapis.html#unhandled-promise-rejections) 的一部分。 -If an error occurs, and there's no `.catch`, the `unhandledrejection` handler triggers, and gets the `event` object with the information about the error, so we can do something. +如果发生错误且没有 `.catch` 捕获,`unhandledrejection` 处理程序就会被触发并获取具有相关错误信息的 `event` 对象,此时我们就能做一些处理了。 -Usually such errors are unrecoverable, so our best way out is to inform the user about the problem and probably report the incident to the server. +通常这种错误是不可恢复的,所以我们最好的办法是告知用户有关问题的信息,并可能将事件报告给服务器。 -In non-browser environments like Node.js there are other similar ways to track unhandled errors. +在 Node.js 等非浏览器环境中,还有其他类似的方法来跟踪未处理的错误。 -## Summary +## 总结 -- `.catch` handles promise rejections of all kinds: be it a `reject()` call, or an error thrown in a handler. -- We should place `.catch` exactly in places where we want to handle errors and know how to handle them. The handler should analyze errors (custom error classes help) and rethrow unknown ones. -- It's ok not to use `.catch` at all, if there's no way to recover from an error. -- In any case we should have the `unhandledrejection` event handler (for browsers, and analogs for other environments), to track unhandled errors and inform the user (and probably our server) about the them, so that our app never "just dies". +- `.catch` 能处理各种 promise rejections:可以是 `reject()` 调用或者处理程序中抛出的错误。 +- 我们应该将 `.catch` 准确放到我们想要处理错误的位置,并知道如何处理它们。处理程序应该分析错误(可以自定义错误类帮助分析)并且重新抛出未知错误。 +- 如果没有办法从错误中恢复的话,不使用 `.catch` 也没有问题。 +- 在任何情况下我们都应该有 `unhandledrejection` 事件处理程序(用于浏览器,以及其他环境的模拟),跟踪未处理的错误并告知用户(可能还有我们的服务器),这样我们的应用程序永远不会“死”。 -And finally, if we have load-indication, then `.finally` is a great handler to stop it when the fetch is complete: +最后,如果我们有加载指示(load-indication),`.finally` 是一个很好的处理程序,在 fetch 完成时停止它: ```js run function demoGithubUser() { let name = prompt("Enter a name?", "iliakan"); *!* - document.body.style.opacity = 0.3; // (1) start the indication + document.body.style.opacity = 0.3; // (1) 开始指示(indication) */!* return loadJson(`https://api.github.com/users/${name}`) *!* - .finally(() => { // (2) stop the indication + .finally(() => { // (2) 停止指示(indication) document.body.style.opacity = ''; return new Promise(resolve => setTimeout(resolve)); // (*) }) @@ -338,8 +338,8 @@ function demoGithubUser() { demoGithubUser(); ``` -Here on the line `(1)` we indicate loading by dimming the document. The method doesn't matter, could use any type of indication instead. +此处的 `(1)` 行,我们通过调暗文档来指示加载。指示方法没有什么问题,可以使用任何类型的指示来代替。 -When the promise is settled, be it a successful fetch or an error, `finally` triggers at the line `(2)` and stops the indication. +当 promise 得以解决,fetch 可以是成功或者错误,`finally` 在 `(2)` 行触发并终止加载指示。 -There's a little browser trick `(*)` with returning a zero-timeout promise from `finally`. That's because some browsers (like Chrome) need "a bit time" outside promise handlers to paint document changes. So it ensures that the indication is visually stopped before going further on the chain. +有一个浏览器技巧 `(*)` 是从 `finally` 返回零延时(zero-timeout)的 promise。这是因为一些浏览器(比如 Chrome)需要“一点时间”外的 promise 处理程序来绘制文档的更改。因此它确保在进入链下一步之前,指示在视觉上是停止的。 From 6d27a1bde2796a7a13097dcf069124f6d52fe608 Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Fri, 19 Jul 2019 14:06:27 +0800 Subject: [PATCH 5/7] Update solution.md with review suggestion --- .../04-promise-error-handling/01-error-async/solution.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md index 9f5fe05323..d5e41a8bd1 100644 --- a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md +++ b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md @@ -8,6 +8,6 @@ new Promise(function(resolve, reject) { }).catch(alert); ``` -正如本章所述,函数代码周围有个 “隐式 `try..catch`”。所以所有同步错误都被处理。 +正如本章所述,函数代码周围有个“隐式 `try..catch`”。所以所有同步错误都被处理。 但是这里的错误并不是在执行阶段生成的,而是在其之后才生成错误。所以 promise 无法处理它。 From 7f98d9e3878abe6871304adfd8e6bec3aa570009 Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Fri, 19 Jul 2019 14:07:43 +0800 Subject: [PATCH 6/7] Update solution.md with review suggestion --- .../04-promise-error-handling/01-error-async/solution.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md index d5e41a8bd1..b07a958f52 100644 --- a/1-js/11-async/04-promise-error-handling/01-error-async/solution.md +++ b/1-js/11-async/04-promise-error-handling/01-error-async/solution.md @@ -10,4 +10,4 @@ new Promise(function(resolve, reject) { 正如本章所述,函数代码周围有个“隐式 `try..catch`”。所以所有同步错误都被处理。 -但是这里的错误并不是在执行阶段生成的,而是在其之后才生成错误。所以 promise 无法处理它。 +但是这里的错误并不是在执行阶段生成的,而是在执行阶段之后才生成错误。所以 promise 无法处理它。 From 571bd1edc13a0bb25ea0a5329838ef1f83724f83 Mon Sep 17 00:00:00 2001 From: LycheeEng Date: Fri, 19 Jul 2019 14:11:49 +0800 Subject: [PATCH 7/7] Update article.md with review suggestions --- 1-js/11-async/04-promise-error-handling/article.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/1-js/11-async/04-promise-error-handling/article.md b/1-js/11-async/04-promise-error-handling/article.md index cf4746732a..7521089b64 100644 --- a/1-js/11-async/04-promise-error-handling/article.md +++ b/1-js/11-async/04-promise-error-handling/article.md @@ -1,5 +1,5 @@ -# Error handling with promises +# Promise 错误处理 异步操作有时候可能会失败:如果出现错误,相应的 promise 就会 reject。例如,如果远程服务器无法访问,`fetch` 就会失败。我们可以使用 `.catch` 去处理这些错误(rejections)。 @@ -110,7 +110,7 @@ new Promise((resolve, reject) => { 在常规 `try..catch` 中,我们可以分析错误,当我们无法处理的时候可能还会重新抛出(rethrow)它。对于 promise 来说也可以这样做。 -如果我们在 `.catch` 内 `throw`,此时控制移交到下一个最近的处理程序。如果我们处理错误并正常完成,那么它将继续到最近的成功的 `.then` 处理程序。 +如果我们在 `.catch` 内 `throw`,此时控制移交到下一个最近的错误处理程序。如果我们处理错误并正常完成,那么它将继续到最近的成功的 `.then` 处理程序。 在下面例子中 `.catch` 成功处理错误: @@ -129,7 +129,7 @@ new Promise((resolve, reject) => { 这里 `.catch` 块正常完成。因此就会调用下一个成功的 `.then` 处理程序。 -在下面的例子中,我们可以看到 `.catch` 的另一种情况。`(*)` 行的处理程序捕获错误但无法处理它(例如,它只知道如何处理 `URIError` 错误),所以它将错误中心抛出: +在下面的例子中,我们可以看到 `.catch` 的另一种情况。`(*)` 行的处理程序捕获错误但无法处理它(例如,它只知道如何处理 `URIError` 错误),所以它再次被抛出: ```js run // 执行:catch -> catch -> then