Skip to content

Commit 5650dd3

Browse files
Apply minor fixes in '1-js/10-error-handling/1-try-catch/article.md'
1 parent 60b651d commit 5650dd3

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

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

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ Peu importe notre niveau en programmation, nos scripts comportent parfois des er
44

55
Généralement, un script "meurt" (s'arrête immédiatement) en cas d'erreur, en l'affichant dans la console.
66

7-
Mais il existe une construction de syntaxe `try...catch` qui permet au script "d'attraper" les erreurs et, au lieu de mourir en cas de problème, de faire quelque chose de plus raisonnable.
7+
Mais il existe une structure de syntaxe `try...catch` qui permet au script "d'attraper" les erreurs et, au lieu de mourir en cas de problème, de faire quelque chose de plus raisonnable.
88

99
## La syntaxe "try...catch"
1010

11-
La construction `try...catch` a deux blocs principaux : `try`, puis `catch` :
11+
La structure `try...catch` a deux blocs principaux : `try`, puis `catch` :
1212

1313
```js
1414
try {
@@ -103,7 +103,7 @@ try {
103103
}
104104
```
105105

106-
C’est parce que la fonction elle-même est exécutée ultérieurement, lorsque le moteur a déjà quitté la construction `try...catch`.
106+
C’est parce que la fonction elle-même est exécutée ultérieurement, lorsque le moteur a déjà quitté la structure `try...catch`.
107107

108108
Pour capturer une exception dans une fonction planifiée, `try...catch` doit être à l'intérieur de cette fonction :
109109
```js run
@@ -561,7 +561,7 @@ alert( func() ); // en premier l'alert du `finally`, puis celle-ci (`1`)
561561

562562
````smart header="`try...finally`"
563563

564-
La construction `try...finally`, sans la clause `catch`, est également utile. Nous l'appliquons lorsque nous ne voulons pas gérer les erreurs ici (les laisser passer), mais nous voulons être sûrs que les processus que nous avons démarrés sont finalisés.
564+
La structure `try...finally`, sans la clause `catch`, est également utile. Nous l'appliquons lorsque nous ne voulons pas gérer les erreurs ici (les laisser passer), mais nous voulons être sûrs que les processus que nous avons démarrés sont finalisés.
565565

566566
```js
567567
function func() {
@@ -576,19 +576,19 @@ function func() {
576576
Dans le code ci-dessus, une erreur à l'intérieur de `try` ressort toujours, car il n'y a pas de `catch`. Mais `finally` fonctionne avant que le flux d’exécution ne quitte la fonction.
577577
````
578578
579-
## Catch globale
579+
## Catch global
580580
581581
```warn header="Spécifique à l'environnement"
582582
Les informations de cette section ne font pas partie du code JavaScript principal.
583583
```
584584
585-
Imaginons que nous ayons une erreur fatale en dehors de `try...catch` et que le script soit mort. Comme une erreur de programmation ou autre chose terrible.
585+
Imaginons que nous ayons une erreur fatale en dehors de `try...catch` et que le script soit mort. Comme une erreur de programmation ou une autre chose terrible.
586586
587587
Y a-t-il un moyen de réagir à de tels événements ? Nous pouvons vouloir enregistrer l'erreur, montrer quelque chose à l'utilisateur (normalement, ils ne voient pas les messages d'erreur), etc.
588588
589589
Il n'y en a pas dans la spécification, mais les environnements le fournissent généralement, car c'est vraiment utile. Par exemple, Node.js a [`process.on("uncaughtException")`](https://nodejs.org/api/process.html#process_event_uncaughtexception) pour ça. Et dans le navigateur, nous pouvons attribuer une fonction à la propriété [window.onerror](https://developer.mozilla.org/fr/docs/Web/API/GlobalEventHandlers/onerror), qui fonctionnera en cas d'erreur non interceptée.
590590
591-
La syntaxe:
591+
La syntaxe :
592592
593593
```js
594594
window.onerror = function(message, url, line, col, error) {
@@ -608,7 +608,7 @@ window.onerror = function(message, url, line, col, error) {
608608
`error`
609609
: Objet d'erreur.
610610
611-
Par exemple:
611+
Par exemple :
612612
613613
```html run untrusted refresh height=1
614614
<script>
@@ -619,7 +619,7 @@ Par exemple:
619619
*/!*
620620
621621
function readData() {
622-
badFunc(); // Whoops, quelque chose s'est mal passé!
622+
badFunc(); // Whoops, quelque chose s'est mal passé !
623623
}
624624
625625
readData();
@@ -628,9 +628,9 @@ Par exemple:
628628
629629
Le rôle du gestionnaire global `window.onerror` est généralement de ne pas récupérer l'exécution du script - c'est probablement impossible en cas d'erreur de programmation, mais d'envoyer le message d'erreur aux développeurs.
630630
631-
Il existe également des services Web fournissant un journal des erreurs pour de tels cas, comme<https://errorception.com> ou <https://www.muscula.com>.
631+
Il existe également des services Web fournissant un journal des erreurs pour de tels cas, comme <https://errorception.com> ou <https://www.muscula.com>.
632632
633-
Ils fonctionnent comme ceci:
633+
Ils fonctionnent comme ceci :
634634
635635
1. Nous nous inscrivons au service et obtenons un morceau de JS (ou une URL de script) à insérer sur des pages.
636636
2. Ce script JS définit une fonction `window.onerror` personnalisée.
@@ -639,9 +639,9 @@ Ils fonctionnent comme ceci:
639639
640640
## Résumé
641641
642-
La construction `try...catch` permet de gérer les erreurs d'exécution. Cela permet littéralement "d'essayer" (`try`) d'exécuter le code et "d’attraper" (`catch`) les erreurs qui peuvent s'y produire.
642+
La structure `try...catch` permet de gérer les erreurs d'exécution. Cela permet littéralement "d'essayer" (`try`) d'exécuter le code et "d’attraper" (`catch`) les erreurs qui peuvent s'y produire.
643643
644-
La syntaxe est la suivante:
644+
La syntaxe est la suivante :
645645
646646
```js
647647
try {
@@ -654,18 +654,18 @@ try {
654654
}
655655
```
656656
657-
Il peut ne pas y avoir de section `catch` ou de `finally`, donc les constructions plus courtes `try...catch` et `try...finally` sont également valides.
657+
Il peut ne pas y avoir de section `catch` ou de `finally`, donc les structures plus courtes `try...catch` et `try...finally` sont également valides.
658658
659-
Les objets d'erreur ont les propriétés suivantes:
659+
Les objets d'erreur ont les propriétés suivantes :
660660
661661
- `message` - le message d'erreur.
662662
- `name` - la chaîne avec le nom d'erreur (nom du constructeur de l'erreur).
663663
- `stack` (non standard, mais bien supporté) - la pile d'exécution au moment de la création de l'erreur.
664664
665-
Si un objet d'erreur n'est pas nécessaire, nous pouvons l'omettre en utilisant `catch {` au lieu de `catch(err) {`.
665+
Si un objet d'erreur n'est pas nécessaire, nous pouvons l'omettre en utilisant `catch {...}` au lieu de `catch(err) {...}`.
666666
667667
Nous pouvons également générer nos propres erreurs en utilisant l'opérateur `throw`. Techniquement, l'argument de `throw` peut être n'importe quoi, mais il s'agit généralement d'un objet d'erreur héritant de la classe `Error` intégrée. Plus d'informations sur l'extension des erreurs dans le chapitre suivant.
668668
669-
La technique de *propagation* est un modèle très important de gestion des erreurs: un bloc `catch` s'attend généralement à savoir comment gérer le type d'erreur particulier et sait comment le gérer. Il doit donc "propager" les erreurs qu'il ne connaît pas.
669+
La technique de *propagation* est un modèle très important de gestion des erreurs : un bloc `catch` s'attend généralement à un type d'erreur particulier et sait comment le gérer, il doit donc "propager" (renvoyer) les erreurs qu'il ne connaît pas.
670670
671-
Même si nous n'avons pas `try...catch`, la plupart des environnements permettent de configurer un gestionnaire d'erreurs "globale" pour intercepter les erreurs qui "tombent". Dans le navigateur, c'est `window.onerror`.
671+
Même si nous n'avons pas `try...catch`, la plupart des environnements permettent de configurer un gestionnaire d'erreurs "globales" pour intercepter les erreurs qui "tombent". Dans le navigateur, c'est `window.onerror`.

0 commit comments

Comments
 (0)