aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/error/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/error/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/error/index.html216
1 files changed, 0 insertions, 216 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/error/index.html b/files/uk/web/javascript/reference/global_objects/error/index.html
deleted file mode 100644
index 9df5ca1354..0000000000
--- a/files/uk/web/javascript/reference/global_objects/error/index.html
+++ /dev/null
@@ -1,216 +0,0 @@
----
-title: Error
-slug: Web/JavaScript/Reference/Global_Objects/Error
-tags:
- - Error
- - JavaScript
- - помилка
-translation_of: Web/JavaScript/Reference/Global_Objects/Error
----
-<div>{{JSRef}}</div>
-
-<p>Об'єкти <code>Error</code> викидаються, коли виникає помилка виконання. Об'єкт <code>Error</code> також можна використовувати як базовий об'єкт для винятків, створених користувачем. Дивіться нижче стандартні вбудовані типи помилок.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Помилки виконання спричиняють створення й викидання нових об'єктів <code>Error</code>.</p>
-
-<h3 id="Типи_помилок">Типи помилок</h3>
-
-<p>Окрім загального конструктора <code>Error</code>, у JavaScript існують сім інших базових конструкторів помилок. Щодо обробки винятків на боці клієнта, дивіться розділ <a href="/uk/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#Exception_handling_statements">Оператори обробки винятків</a>.</p>
-
-<dl>
- <dt>{{jsxref("EvalError")}}</dt>
- <dd>Створює екземпляр помилки, що виникає під час використання глобальної функції {{jsxref("eval", "eval()")}}.</dd>
- <dt>{{jsxref("InternalError")}} {{non-standard_inline}}</dt>
- <dd>Створює екземпляр помилки, що виникає, коли викидається внутрішня помилка рушія JavaScript. Наприклад, "too much recursion".</dd>
- <dt>{{jsxref("RangeError")}}</dt>
- <dd>Створює екземпляр помилки, що виникає, коли значення чисельної змінної або параметра знаходиться поза межами дозволеного діапазону.</dd>
- <dt>{{jsxref("ReferenceError")}}</dt>
- <dd>Створює екземпляр помилки, що виникає при зверненні за недійсним посиланням.</dd>
- <dt>{{jsxref("SyntaxError")}}</dt>
- <dd>Створює екземпляр синтаксичної помилки, яка виникає під час аналізу коду у {{jsxref("eval", "eval()")}}.</dd>
- <dt>{{jsxref("TypeError")}}</dt>
- <dd>Створює екземпляр помилки, що виникає при використанні змінної або параметра невідповідного типу.</dd>
- <dt>{{jsxref("URIError")}}</dt>
- <dd>Створює екземпляр помилки, що виникає, коли до {{jsxref("encodeURI", "encodeURI()")}} або {{jsxref("decodeURI", "decodeURI()")}} передаються неправильні параметри.</dd>
-</dl>
-
-<h2 id="Конструктор">Конструктор</h2>
-
-<dl>
- <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Error/Error">Error()</a></dt>
- <dd>Створює об'єкти <code>Error</code>.</dd>
-</dl>
-
-<h2 id="Властивості">Властивості</h2>
-
-<dl>
- <dt><code>Error.prototype</code></dt>
- <dd>Дозволяє додавати властивості до екземплярів <code>Error</code>.</dd>
-</dl>
-
-<h2 id="Методи">Методи</h2>
-
-<p>Глобальний об'єкт <code>Error</code> не має власних методів, однак, він успадковує деякі методи через ланцюжок прототипів.</p>
-
-<h3 id="Нестандартні_методи">Нестандартні методи</h3>
-
-<p>{{Non-standard_Header}}</p>
-
-<dl>
- <dt>{{JSxRef("Error.captureStackTrace()")}} {{Non-standard_Inline}}</dt>
- <dd>Функція <strong>V8</strong>, яка створює властивість {{JSxRef("Error.prototype.stack", "stack")}} на екземплярі Error.</dd>
-</dl>
-
-<h2 id="Екземпляри_Error">Екземпляри Error</h2>
-
-<div>{{page('uk/docs/Web/JavaScript/Reference/Global_Objects/Error/prototype', 'Опис')}}</div>
-
-<h3 id="Властивості_2">Властивості</h3>
-
-<div>{{page('/uk/docs/Web/JavaScript/Reference/Global_Objects/Error/prototype', 'Властивості')}}</div>
-
-<h3 id="Методи_2">Методи</h3>
-
-<div>{{page('uk/docs/Web/JavaScript/Reference/Global_Objects/Error/prototype', 'Методи')}}</div>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Викидання_загальної_помилки">Викидання загальної помилки</h3>
-
-<p>Зазвичай ви створюєте об'єкт <code>Error</code> для того, щоб викинути його з допомогою ключового слова {{jsxref("Statements/throw", "throw")}}. Ви можете обробити помилку, використовуючи конструкцію {{jsxref("Statements/try...catch", "try...catch")}}:</p>
-
-<pre class="brush: js">try {
- throw new Error('Ой-ой!');
-} catch (e) {
- console.error(e.name + ': ' + e.message);
-}
-</pre>
-
-<h3 id="Обробка_специфічної_помилки">Обробка специфічної помилки</h3>
-
-<p>Ви можете обробляти лише окремі типи помилок, перевіряючи тип помилки з допомогою властивості {{jsxref("Object.prototype.constructor", "constructor")}} або, якщо ви пишете для сучасних рушіїв JavaScript, ключовим словом {{jsxref("Operators/instanceof", "instanceof")}}:</p>
-
-<pre class="brush: js">try {
- foo.bar();
-} catch (e) {
- if (e instanceof EvalError) {
- console.error(e.name + ': ' + e.message);
- } else if (e instanceof RangeError) {
- console.error(e.name + ': ' + e.message);
- }
- // ... і т.д.
-}
-</pre>
-
-<h3 id="Користувацькі_типи_помилок">Користувацькі типи помилок</h3>
-
-<p>Ви, можливо, захочете визначити свої власні типи помилок, успадкувавши їх від <code>Error</code>, щоб мати можливість викидати новий об'єкт помилки через <code>throw new MyError()</code> та використовувати <code>instanceof MyError</code> для перевірки типу помилки у обробнику винятків. В результаті отримуємо більш чистий та послідовний код обробки помилок. </p>
-
-<p>Дивіться всебічну дискусію <a href="http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript">"What's a good way to extend Error in JavaScript?"</a> на StackOverflow.</p>
-
-<h4 id="Користувацький_клас_помилки_у_ES6">Користувацький клас помилки у ES6</h4>
-
-<div class="warning">
-<p>Babel до 7-ї версії може працювати з методами класу <code>CustomError</code>, але тільки якщо вони оголошені через  <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty()</a>. Інакше старі версії Babel та інші транспілятори не зможуть коректно обробити наступний код без <a href="https://github.com/loganfsmyth/babel-plugin-transform-builtin-extend">додаткових налаштувань</a>.</p>
-</div>
-
-<div class="note">
-<p>Деякі веб-переглядачі включають конструктор <code>CustomError</code> у трасування стеку при використанні класів ES2015.</p>
-</div>
-
-<pre class="brush: js">class CustomError extends Error {
- constructor(foo = 'bar', ...params) {
- // Передати залишкові параметри (в тому числі параметри розробника) до батьківського конструктора
- super(...params)
-
-  // Підтримує правильне трасування стеку в точці, де була викинута помилка (працює лише на V8)
- if (Error.captureStackTrace) {
-  Error.captureStackTrace(this, CustomError);
- }
-
- this.name = 'CustomError'
- // Користувацька інформація для налагодження
- this.foo = foo
-  this.date = new Date()
- }
-}
-
-try {
- throw new CustomError('baz', 'bazMessage')
-} catch(e) {
- console.error(e.name) //CustomError
- console.error(e.foo) //baz
- console.error(e.message) //bazMessage
- console.error(e.stack) //stacktrace
-}</pre>
-
-<h4 id="Користувацький_обєкт_помилки_у_ES5">Користувацький об'єкт помилки у ES5</h4>
-
-<div class="warning">
-<p><strong>Всі</strong> веб-переглядачі включають конструктор CustomError у трасування стеку при використанні прототипного оголошення.</p>
-</div>
-
-<pre class="brush: js">function CustomError(foo, message, fileName, lineNumber) {
- var instance = new Error(message, fileName, lineNumber);
- instance.name = 'CustomError';
- instance.foo = foo;
- Object.setPrototypeOf(instance, Object.getPrototypeOf(this));
- if (Error.captureStackTrace) {
- Error.captureStackTrace(instance, CustomError);
- }
- return instance;
-}
-
-CustomError.prototype = Object.create(Error.prototype, {
- constructor: {
- value: Error,
- enumerable: false,
- writable: true,
- configurable: true
- }
-});
-
-if (Object.setPrototypeOf){
- Object.setPrototypeOf(CustomError, Error);
-} else {
- CustomError.__proto__ = Error;
-}
-
-
-try {
- throw new CustomError('baz', 'bazMessage');
-} catch(e){
- console.error(e.name); //CustomError
- console.error(e.foo); //baz
- console.error(e.message); //bazMessage
-}</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Специфікація</th>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-error-objects', 'Error')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Error")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Statements/throw", "throw")}}</li>
- <li>{{jsxref("Statements/try...catch", "try...catch")}}</li>
-</ul>