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
+7-10Lines changed: 7 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -488,16 +488,16 @@ Ce code a deux manières de s'exécuter :
488
488
1. Si vous répondez "Yes" à "Make an error?", Alors `try -> catch -> finally`.
489
489
2. Si vous dites "No", alors `try -> finally`.
490
490
491
-
La clause `finally` est souvent utilisée lorsque nous commençons à faire quelque chose et que nous voulons le finaliser dans tous les cas de résultats.
491
+
La clause `finally` est souvent utilisée lorsque nous commençons à faire quelque chose et que nous voulons le finaliser dans tous les cas de figure.
492
492
493
-
Par exemple, nous voulons mesurer le temps que prend une fonction de nombre de Fibonacci `fib(n)`. Naturellement, nous pouvons commencer à mesurer avant l'exécution et finir ensuite. Mais que se passe-t-il s'il y a une erreur lors de l'appel de la fonction? En particulier, la mise en oeuvre de `fib(n)` dans le code ci-dessous renvoie une erreur pour les nombres négatifs ou non entiers.
493
+
Par exemple, nous voulons mesurer le temps que prend une fonction de nombre de Fibonacci `fib(n)`. Naturellement, nous pouvons commencer à mesurer avant l'exécution et finir ensuite. Mais que se passe-t-il s'il y a une erreur lors de l'appel de la fonction? En particulier, la mise en oeuvre de `fib(n)` dans le code ci-dessous renvoie une erreur pour les nombres négatifs ou non entiers.
494
494
495
495
La clause `finally` est un bon endroit pour finir les mesures, quoi qu’il arrive.
496
496
497
-
Ici, `finally` garantit que le temps sera correctement mesuré dans les deux situations - en cas d’exécution réussie de `fib` et en cas d’erreur:
497
+
Ici, `finally` garantit que le temps sera correctement mesuré dans les deux situations - en cas d’exécution réussie de `fib` et en cas d’erreur:
498
498
499
499
```js run
500
-
let num = +prompt("Enter a positive integer number?", 35)
500
+
let num = +prompt("Enter a positive integer number.", 35)
501
501
502
502
let diff, result;
503
503
@@ -529,7 +529,6 @@ Vous pouvez vérifier en exécutant le code en entrant `35` dans `prompt` - il s
529
529
530
530
En d'autres termes, la fonction peut finir par `return` ou `throw`, cela n'a pas d'importance. La clause `finally` s'exécute dans les deux cas.
531
531
532
-
533
532
```smart header="Les variables sont locales à l'intérieur de `try...catch...finally`"
534
533
Veuillez noter que les variables `result` et `diff` dans le code ci-dessus sont déclarées *avant* `try...catch`.
535
534
@@ -543,12 +542,10 @@ Dans l'exemple ci-dessous, il y a `return` dans `try`. Dans ce cas, `finally` es
543
542
544
543
```js run
545
544
function func() {
546
-
547
545
try {
548
546
*!*
549
547
return 1;
550
548
*/!*
551
-
552
549
} catch (err) {
553
550
/* ... */
554
551
} finally {
@@ -558,13 +555,13 @@ function func() {
558
555
}
559
556
}
560
557
561
-
alert( func() ); // en premièr l'alert du `finally`, puis celle-ci
558
+
alert( func() ); // en premier l'alert du `finally`, puis celle-ci (`1`)
562
559
```
563
560
````
564
561
565
562
````smart header="`try...finally`"
566
563
567
-
La construction `try...finally`, sans la clause `catch`, est également utile. Nous l'appliquons lorsque nous ne voulons pas gérer les erreurs ici (laissez-les tomber), mais nous voulons être sûrs que les processus que nous avons démarrés sont finalisés.
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.
568
565
569
566
```js
570
567
functionfunc() {
@@ -576,7 +573,7 @@ function func() {
576
573
}
577
574
}
578
575
```
579
-
Dans le code ci-dessus, une erreur à l'intérieur de `try`tombe toujours, car il n'y a pas de `catch`. Mais `finally` fonctionne avant que le flux d’exécution ne quitte la fonction.
576
+
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.
0 commit comments