Skip to content

Commit b446f81

Browse files
Apply minor fixes in '1-js/10-error-handling/1-try-catch/article.md'
1 parent a7082eb commit b446f81

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

1-js/10-error-handling/1-try-catch/article.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,9 @@ throw <error object>
265265
266266
Techniquement, on peut utiliser n'importe quoi comme objet d'erreur. Cela peut même être une primitive, comme un nombre ou une chaîne, mais il est préférable d’utiliser des objets, de préférence avec les propriétés `name` et `message` (pour rester quelque peu compatibles avec les erreurs intégrées).
267267
268-
JavaScript comporte de nombreux constructeurs intégrés pour les erreurs standard: `Error`, `SyntaxError`, `ReferenceError`, `TypeError` et autres. Nous pouvons également les utiliser pour créer des objets d'erreur.
268+
JavaScript comporte de nombreux constructeurs intégrés pour les erreurs standards : `Error`, `SyntaxError`, `ReferenceError`, `TypeError` et autres. Nous pouvons également les utiliser pour créer des objets d'erreur.
269269
270-
Leur syntaxe est la suivante:
270+
Leur syntaxe est la suivante :
271271
272272
```js
273273
let error = new Error(message);
@@ -279,7 +279,7 @@ let error = new ReferenceError(message);
279279
280280
Pour les erreurs intégrées (pas pour les objets, mais pour les erreurs), la propriété `name` est exactement le nom du constructeur. Et `message` est tiré de l'argument.
281281
282-
Par exemple:
282+
Par exemple :
283283
284284
```js run
285285
let error = new Error("Things happen o_O");
@@ -288,7 +288,7 @@ alert(error.name); // Error
288288
alert(error.message); // Things happen o_O
289289
```
290290
291-
Voyons quel type d'erreur `JSON.parse` génère:
291+
Voyons quel type d'erreur `JSON.parse` génère :
292292
293293
```js run
294294
try {
@@ -303,9 +303,9 @@ try {
303303
304304
Comme on peut le constater, c’est une `SyntaxError`.
305305
306-
Et dans notre cas, l’absence de `name` est une erreur, car les utilisateurs doivent avoir un` name`.
306+
Et dans notre cas, l’absence de `name` est une erreur, car les utilisateurs doivent avoir un `name`.
307307
308-
Alors utilisons throw:
308+
Alors utilisons `throw` :
309309
310310
```js run
311311
let json = '{ "age": 30 }'; // données incomplètes
@@ -327,9 +327,9 @@ try {
327327
}
328328
```
329329
330-
Dans la ligne `(*)`, l'instruction `throw` génère une `SyntaxError` avec le `message` donné, de la même manière que JavaScript le générerait lui-même. L'exécution de `try` s'arrête immédiatement et le flux de contrôle saute dans `catch`.
330+
À la ligne `(*)`, l'instruction `throw` génère une `SyntaxError` avec le `message` donné, de la même manière que JavaScript le générerait lui-même. L'exécution de `try` s'arrête immédiatement et le flux de contrôle saute dans `catch`.
331331
332-
Maintenant, `catch` est devenu un emplacement unique pour toutes les erreurs de traitement: à la fois pour `JSON.parse` et d'autres cas.
332+
Maintenant, `catch` est devenu un emplacement unique pour toutes les erreurs de traitement : à la fois pour `JSON.parse` et d'autres cas.
333333
334334
## Propager une exception
335335
@@ -350,7 +350,7 @@ try {
350350
}
351351
```
352352
353-
Bien sûr, tout est possible! Les programmeurs font des erreurs. Même dans les utilitaires à code source ouvert utilisés par des millions de personnes pendant des décennies, on découvre soudainement un bug qui conduit à de terribles piratages.
353+
Bien sûr, tout est possible ! Les programmeurs font des erreurs. Même dans les utilitaires à code source ouvert utilisés par des millions de personnes pendant des décennies, on découvre soudainement un bug qui conduit à de terribles piratages.
354354
355355
Dans notre cas, `try...catch` est destiné à intercepter les erreurs "incorrect data". Mais par sa nature, `catch` obtient *toutes* les erreurs de `try`. Ici, une erreur inattendue se produit, mais le même message `"JSON Error"` est toujours affiché. C'est faux et rend également le code plus difficile à déboguer.
356356
@@ -373,14 +373,14 @@ try {
373373
*!*
374374
if (err instanceof ReferenceError) {
375375
*/!*
376-
alert('ReferenceError'); // "ReferenceError" for accessing an undefined variable
376+
alert('ReferenceError'); // "ReferenceError" pour avoir accédé à une variable non définie
377377
}
378378
}
379379
```
380380
381381
Nous pouvons également obtenir le nom de la classe d'erreur à partir de la propriété `err.name`. Toutes les erreurs natives l'ont. Une autre option est de lire `err.constructor.name`.
382382
383-
Dans le code ci-dessous, nous utilisons la technique de "propagation" pour que `catch` ne traite que `SyntaxError`:
383+
Dans le code ci-dessous, nous utilisons la technique de "propagation" pour que `catch` ne traite que `SyntaxError` :
384384
385385
```js run
386386
let json = '{ "age": 30 }'; // données incomplètes
@@ -411,11 +411,11 @@ try {
411411
}
412412
```
413413
414-
L’erreur de l’instruction throw à la ligne `(*)` de l’intérieur du bloc `catch` "tombe" de `try...catch` et peut être interceptée par une construction externe `try...catch` (si elle existe), ou tue le script.
414+
L’erreur de l’instruction `throw` à la ligne `(*)` de l’intérieur du bloc `catch` "sort" de `try...catch` et peut être soit capturée par une structure `try...catch` externe (si elle existe), soit elle arrête le script.
415415
416-
Ainsi, le bloc `catch` ne traite que les erreurs qu’il sait gérer et" ignore "toutes les autres.
416+
Ainsi, le bloc `catch` ne traite que les erreurs qu’il sait gérer et "ignore" toutes les autres.
417417
418-
L'exemple ci-dessous montre comment de telles erreurs peuvent être interceptées par un niveau supplémentaire de `try...catch` :
418+
L'exemple ci-dessous montre comment de telles erreurs peuvent être capturées par un niveau supplémentaire de `try...catch` :
419419
420420
```js run
421421
function readData() {
@@ -430,7 +430,7 @@ function readData() {
430430
// ...
431431
if (!(err instanceof SyntaxError)) {
432432
*!*
433-
throw err; // propager (ne sachant pas comment gérer)
433+
throw err; // propager l'erreur (ne sachant pas comment la gérer)
434434
*/!*
435435
}
436436
}
@@ -440,7 +440,7 @@ try {
440440
readData();
441441
} catch (err) {
442442
*!*
443-
alert( "External catch got: " + err ); // attrapé!
443+
alert( "External catch got: " + err ); // attrapé !
444444
*/!*
445445
}
446446
```
@@ -449,16 +449,16 @@ Ici, `readData` ne sait que gérer `SyntaxError`, alors que le `try...catch` ext
449449
450450
## try...catch...finally
451451
452-
Attends, ce n'est pas tout.
452+
Mais ce n'est pas tout.
453453
454-
La construction `try...catch` peut avoir une autre clause de code : `finally`.
454+
La structure `try...catch` peut avoir un bloc de code supplémentaire : `finally`.
455455
456-
S'il existe, il s'exécute dans tous les cas:
456+
S'il existe, il s'exécute dans tous les cas :
457457
458458
- après `try`, s'il n'y a pas eu d'erreur,
459459
- après `catch`, s'il y a eu des erreurs.
460460
461-
La syntaxe étendue ressemble à ceci:
461+
La syntaxe étendue ressemble à ceci :
462462
463463
```js
464464
*!*try*/!* {
@@ -470,7 +470,7 @@ La syntaxe étendue ressemble à ceci:
470470
}
471471
```
472472
473-
Essayez d'exécuter ce code:
473+
Essayez d'exécuter ce code :
474474
475475
```js run
476476
try {
@@ -483,7 +483,7 @@ try {
483483
}
484484
```
485485
486-
Le code a deux manières d'exécution:
486+
Ce code a deux manières de s'exécuter :
487487
488488
1. Si vous répondez "Yes" à "Make an error?", Alors `try -> catch -> finally`.
489489
2. Si vous dites "No", alors `try -> finally`.

0 commit comments

Comments
 (0)