try...catch..finally
Оператор визначає блок коду , щоб спробувати разом з відповіддю повинно статися помилка. Оператор try
містить один або кілька try
блоків і закінчується принаймні одним catch
та / або finally
реченням.
try...catch
:
try { throw new Error('my error'); } catch (err) { console.error(err.message); } // Output: my error
try...finally
:
try { throw new Error('my error'); } finally { console.error('finally'); } // Output: finally
Коли ви не використовуєте catch
оператор, помилка не "ловиться", навіть якщо код у finally
блоці виконується. Натомість помилка продовжиться до верхнього try
блоку (або основного блоку).
try...catch...finally
:
try { throw new Error('my error'); } catch (err) { console.error(err.message); } finally { console.error('finally'); } // Output: // my error // finally
Типове використання:
try { openFile(file); readFile(file) } catch (err) { console.error(err.message); } finally { closeFile(file); }
Вкладений try...catch
:
Ви також можете:
- Вкладіть
try-catch
оператор уtry
блок.
Ви можете вкласти try...catch
оператор у try
блок. Наприклад, щоб викинути помилку вгору:
try { try { throw new Error('my error'); } catch (err) { console.error('inner', err.message); throw err; } finally { console.log('inner finally'); } } catch (err) { console.error('outer', err.message); } // Output: // inner my error // inner finally // outer my error