Skip to content

Commit ccec383

Browse files
authored
Apply suggestions from code review
1 parent 2e497fc commit ccec383

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

1-js/11-async/04-promise-error-handling/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ fetch('/article/promise-chaining/user.json')
4242

4343
## Неявний try..catch
4444

45-
Навколо функції проміса та обробників знаходиться "невидимий `try..catch`". Якщо відбувається помилка, то її перехоплюють і опрацьовують як ніби був запущений `reject`.
45+
Навколо функції проміса та обробників є "невидимий `try..catch`". Якщо відбувається помилка, то її перехоплюють і опрацьовують як ніби був запущений `reject`.
4646

4747
Наприклад, цей код:
4848

@@ -66,7 +66,7 @@ new Promise((resolve, reject) => {
6666

6767
"Невидимий `try..catch`" навколо промісу автоматично перехоплює помилку і перетворює її на відхилений проміс.
6868

69-
Це працює не лише в функцієї-"виконавцем", але і в обробниках. Якщо ми створимо помилку (`throw`) в обробнику (`.then`), то проміс вважатиметься відхиленим, і управління перейде до найближчого обробника помилок.
69+
Це працює не лише в функції, яка створює проміс, але й в обробниках. Якщо ми викинемо виключення(exception) за допомогою `throw` в обробнику (`.then`), то проміс вважатиметься відхиленим, і управління перейде до найближчого обробника помилок.
7070

7171
Приклад:
7272

@@ -200,6 +200,6 @@ new Promise(function() {
200200

201201
- `.catch` перехоплює усі види помилок в промісах: будь то виклик `reject()` або помилка, кинута в обробнику за допомогою `throw`.
202202
- `.then` так само виловлює помилки, якщо надати другий аргумент (який є обробником помилок).
203-
- Необхідно розміщувати `.catch` там, де ми хочемо обробити помилки і знаємо, як це зробити. Обробник може проаналізувати помилку (можуть бути корисними користувацькі класи помилок) і прокинути її, якщо нічого не знає про неї (можливо, це програмна помилка).
203+
- Необхідно розміщувати `.catch` там, де ми хочемо обробити помилки і знаємо, як це зробити. Обробник може проаналізувати помилку (можуть бути корисними класи помилок, створені нами спеціально під конкретну помилку) і прокинути її, якщо нічого не знає про неї (можливо, це програмна помилка).
204204
- Можна і зовсім не використовувати `.catch`, якщо немає нормального способу відновитися після помилки.
205205
- У будь-якому випадку нам слід використовувати обробник події `unhandledrejection` (для браузерів і аналог для іншого оточення), щоб відстежувати необроблені помилки і інформувати про них користувача (і, можливо, наш сервер), завдяки чому наш застосунок ніколи не буде "просто помирати".

0 commit comments

Comments
 (0)