You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/10-error-handling/1-try-catch/article.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
Peu importe notre niveau en programmation, nos scripts comportent parfois des erreurs. Elles peuvent être dues à nos erreurs, à une entrée utilisateur imprévue, à une réponse erronée du serveur et à mille autres raisons.
4
4
5
-
Généralement, un script "meurt" (s'arrête immédiatement) en cas d'erreur, en l'imprimant sur la console.
5
+
Généralement, un script "meurt" (s'arrête immédiatement) en cas d'erreur, en l'affichant dans la console.
6
6
7
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.
8
8
9
9
## La syntaxe "try...catch"
10
10
11
-
La construction `try...catch` a deux blocs principaux: `try`, puis `catch`:
11
+
La construction `try...catch` a deux blocs principaux: `try`, puis `catch`:
12
12
13
13
```js
14
14
try {
@@ -22,19 +22,19 @@ try {
22
22
}
23
23
```
24
24
25
-
Cela fonctionne comme ceci:
25
+
Cela fonctionne comme ceci:
26
26
27
27
1. Tout d'abord, le code dans `try {...}` est exécuté.
28
28
2. S'il n'y a pas eu d'erreur, alors `catch(err)` est ignoré : l'exécution arrive à la fin de `try` et continue en ignorant `catch`.
29
-
3. Si une erreur survient, alors l'exécution de `try` est arrêtée et le contrôle se place au début de `catch(err)`. La variable `err` (qui peut utiliser n'importe quel nom) contient un objet d'erreur avec des détails sur ce qui s'est passé.
29
+
3. Si une erreur survient, alors l'exécution de `try` est arrêtée et le contrôle se place au début de `catch(err)`. La variable `err` (qui peut utiliser n'importe quel nom) contient un objet d'erreur avec des détails sur ce qui s'est passé.
30
30
31
31

32
32
33
33
Donc, une erreur dans le bloc `try {...}` ne tue pas le script -- nous avons une opportunité de la gérer dans `catch`.
34
34
35
35
Voyons des exemples.
36
36
37
-
- Un exemple sans erreur: affiche `alert``(1)` et `(2)`:
37
+
- Un exemple sans erreur: affiche `alert``(1)` et `(2)`:
38
38
39
39
```js run
40
40
try {
@@ -51,7 +51,8 @@ Voyons des exemples.
51
51
52
52
}
53
53
```
54
-
- Un exemple avec une erreur: montre `(1)` et `(3)`:
54
+
55
+
- Un exemple avec une erreur : montre `(1)` et `(3)`:
55
56
56
57
```js run
57
58
try {
@@ -71,7 +72,6 @@ Voyons des exemples.
71
72
}
72
73
```
73
74
74
-
75
75
````warn header="`try...catch` ne fonctionne que pour les erreurs d'exécution"
76
76
Pour que `try...catch` fonctionne, le code doit être exécutable. En d'autres termes, le code doit être du JavaScript valide.
77
77
@@ -90,7 +90,6 @@ Le moteur JavaScript lit d'abord le code, puis l'exécute. Les erreurs qui se pr
90
90
Ainsi, `try...catch` ne peut gérer que les erreurs qui se produisent dans du code valide. De telles erreurs sont appelées "erreurs d'exécution" ou, parfois, "exceptions".
91
91
````
92
92
93
-
94
93
````warn header="`try...catch` fonctionne de manière synchrone"
95
94
Si une exception se produit dans le code "planifié", comme dans `setTimeout`,`try...catch` ne l'attrapera pas :
96
95
@@ -109,7 +108,7 @@ C’est parce que la fonction elle-même est exécutée ultérieurement, lorsque
109
108
Pour capturer une exception dans une fonction planifiée, `try...catch` doit être à l'intérieur de cette fonction :
0 commit comments