diff options
| author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
| commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
| tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/error | |
| parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
| download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip | |
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/error')
10 files changed, 0 insertions, 822 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/error/columnnumber/index.html b/files/uk/web/javascript/reference/global_objects/error/columnnumber/index.html deleted file mode 100644 index 966facf100..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/columnnumber/index.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Error.prototype.columnNumber -slug: Web/JavaScript/Reference/Global_Objects/Error/columnNumber -tags: - - Error - - JavaScript - - Властивість - - прототип -translation_of: Web/JavaScript/Reference/Global_Objects/Error/columnNumber ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Властивість <code><strong>columnNumber</strong></code> містить номер стовпця у рядку файла, який спричинив помилку.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_columnNumber">Використання <code>columnNumber</code></h3> - -<pre class="brush: js">var e = new Error('Could not parse input'); -throw e; -console.log(e.columnNumber) // 0 -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодних специфікацій. Нестандартна властивість.</p> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.columnNumber")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.stack")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/error/index.html b/files/uk/web/javascript/reference/global_objects/error/error/index.html deleted file mode 100644 index 4f16905d5a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/error/index.html +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Конструктор Error() -slug: Web/JavaScript/Reference/Global_Objects/Error/Error -translation_of: Web/JavaScript/Reference/Global_Objects/Error/Error ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Конструктор <strong><code>Error</code></strong> створює об'єкт помилки.</span></p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox">new Error([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>message</var></code>{{Optional_Inline}}</dt> - <dd>Зрозумілий людині опис помилки.</dd> - <dt><code><var>fileName</var></code> {{Non-standard_Inline}}{{Optional_Inline}}</dt> - <dd>Значення властивості <code><var>fileName</var></code> створеного об'єкта <code>Error</code>. За замовчуванням містить ім'я файлу, код з якого запустив конструктор <code>Error()</code>.</dd> - <dt><code><var>lineNumber</var></code> {{Non-standard_Inline}}{{Optional_Inline}}</dt> - <dd>Значення властивості <code><var>lineNumber</var></code> створеного об'єкта <code>Error</code>. За замовчуванням містить номер рядка, де відбувся виклик конструктора <code>Error()</code>.</dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>Коли <code>Error</code> використовується як функція -- без {{JSxRef("Operators/new", "new")}}, він повертає об'єкт <code>Error</code>. Таким чином, простий виклик <code>Error</code> матиме той самий результат, що й конструювання об'єкта <code>Error</code> через ключове слово <code>new</code>.</p> - -<pre class="brush: js;">// це... -const x = Error('Я був створений викликом функції!') - -// ...має ту саму функціональність, що й це: -const y = new Error('Я був зконструйований ключовим словом "new"!')</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-error-constructor', 'Error constructor')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Error.Error")}}</p> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{JSxRef("Statements/throw", "throw")}}</li> - <li>{{JSxRef("Statements/try...catch", "try...catch")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/filename/index.html b/files/uk/web/javascript/reference/global_objects/error/filename/index.html deleted file mode 100644 index 046a345326..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/filename/index.html +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Error.prototype.fileName -slug: Web/JavaScript/Reference/Global_Objects/Error/fileName -tags: - - Error - - JavaScript - - Властивість -translation_of: Web/JavaScript/Reference/Global_Objects/Error/fileName ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Властивість <code><strong>fileName</strong></code> містить шлях до файлу, який спричинив помилку.</p> - -<h2 id="Опис">Опис</h2> - -<p>Ця нестандартна властивість містить шлях до файлу, який спричинив дану помилку. При виклику в контексті відладчика, наприклад, у інструментах розробника Firefox, повертається "debugger eval code".</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_fileName">Використання <code>fileName</code></h3> - -<pre class="brush: js">var e = new Error('Could not parse input'); -throw e; -// e.fileName може виглядати як "file:///C:/example.html" -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодних специфікацій. Нестандартна властивість.</p> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.fileName")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.stack")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}</li> -</ul> 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> diff --git a/files/uk/web/javascript/reference/global_objects/error/linenumber/index.html b/files/uk/web/javascript/reference/global_objects/error/linenumber/index.html deleted file mode 100644 index e539638c46..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/linenumber/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Error.prototype.lineNumber -slug: Web/JavaScript/Reference/Global_Objects/Error/lineNumber -tags: - - Error - - JavaScript - - Prototype - - Властивість - - помилка -translation_of: Web/JavaScript/Reference/Global_Objects/Error/lineNumber ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Властивість <code><strong>lineNumber</strong></code> містить номер рядка у файлі, що спричинив помилку.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_lineNumber">Використання <code>lineNumber</code></h3> - -<pre class="brush: js">var e = new Error('Could not parse input'); -throw e; -console.log(e.lineNumber) // 2 -</pre> - -<h3 id="Альтернативний_приклад_використання_події_error">Альтернативний приклад використання події <code>error</code> </h3> - -<pre class="brush: js">window.addEventListener('error', function(e) { - console.log(e.lineNumber); // 5 -}); -var e = new Error('Could not parse input'); -throw e; -</pre> - -<p>Це нестандартна властивість, їй бракує всебічної підтримки. Дивіться таблицю сумісності з браузерами нижче.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодних специфікацій. Нестандартна властивість.</p> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.lineNumber")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.stack")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}</li> - <li>{{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/message/index.html b/files/uk/web/javascript/reference/global_objects/error/message/index.html deleted file mode 100644 index 318f8eb532..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/message/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Error.prototype.message -slug: Web/JavaScript/Reference/Global_Objects/Error/message -tags: - - Error - - JavaScript - - Властивість -translation_of: Web/JavaScript/Reference/Global_Objects/Error/message ---- -<div>{{JSRef}}</div> - -<p>Властивість <code><strong>message</strong></code> - це зрозумілий людині опис помилки.</p> - -<h2 id="Опис">Опис</h2> - -<p>Ця властивість містить стислий опис помилки, якщо він був наданий. Рушій <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> активно використовує властивість <code>message</code> для винятків. Властивість <code>message</code> у поєднанні з властивістю {{jsxref("Error.prototype.name", "name")}} використовується методом {{jsxref("Error.prototype.toString()")}} для створення рядкового представлення помилки.</p> - -<p>За замовчуванням, властивість <code>message</code> є порожнім рядком, але ця поведінка може бути заміщена, наприклад, передачею повідомлення першим аргументом у {{jsxref("Error", "конструктор Error")}}.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Викидання_користувацької_помилки">Викидання користувацької помилки</h3> - -<pre class="brush: js">var e = new Error('Could not parse input'); -// e.message дорівнює 'Could not parse input' -throw e; -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-error.prototype.message', 'Error.prototype.message')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.message")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.name")}}</li> - <li>{{jsxref("Error.prototype.toString()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/name/index.html b/files/uk/web/javascript/reference/global_objects/error/name/index.html deleted file mode 100644 index bf868bf365..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/name/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Error.prototype.name -slug: Web/JavaScript/Reference/Global_Objects/Error/name -tags: - - Error - - JavaScript - - Властивість -translation_of: Web/JavaScript/Reference/Global_Objects/Error/name ---- -<div>{{JSRef}}</div> - -<p>Властивість <code><strong>name</strong></code> містить ім'я типу помилки. Початкове значення дорівнює "Error".</p> - -<h2 id="Опис">Опис</h2> - -<p>За замовчуванням екземплярам {{jsxref("Error")}} надається ім'я "Error". Властивість <code>name</code>, на додаток до властивості {{jsxref("Error.prototype.message", "message")}}, використовується методом {{jsxref("Error.prototype.toString()")}} для створення рядкового представлення помилки.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Викидання_користувацької_помилки">Викидання користувацької помилки</h3> - -<pre class="brush: js">var e = new Error('Malformed input'); // e.name дорівнює 'Error' - -e.name = 'ParseError'; -throw e; -// e.toString() поверне 'ParseError: Malformed input' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-error.prototype.name', 'Error.prototype.name')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.name")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.message")}}</li> - <li>{{jsxref("Error.prototype.toString()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/stack/index.html b/files/uk/web/javascript/reference/global_objects/error/stack/index.html deleted file mode 100644 index 04bb1ff642..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/stack/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Error.prototype.stack -slug: Web/JavaScript/Reference/Global_Objects/Error/Stack -tags: - - Error - - JavaScript - - Prototype - - Властивість - - нестандартна -translation_of: Web/JavaScript/Reference/Global_Objects/Error/Stack ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Нестандартна властивість <strong><code>stack</code></strong> об'єктів {{jsxref("Error")}} надає звіт про те, які функції були викликані, в якому порядку, з якого рядка файлу та з якими аргументами. Текстовий рядок стеку ведеться з останніх викликів до більш ранніх, і аж до початкового виклику у глобальній області видимості.</p> - -<h2 id="Опис">Опис</h2> - -<p>Кожний крок буде відокремлений новим рядком, де перша частина є іменем функції (якщо це не виклик з глобальної області видимості), далі через символ (@) розташування файлу (окрім випадку, коли функція є конструктором помилки під час викидання помилки), двокрапка та, якщо доступне розташування файлу, номер рядка. (Зауважте, що об'єкт {{jsxref("Error")}} також має властивості <code>fileName</code>, <code>lineNumber</code> та <code>columnNumber</code> для отримання цієї інформації про помилку, що викидається (але тільки про помилку, а не стек її викликів).)</p> - -<p>Зауважте, що це формат, який використовується у Firefox. Не існує стандартного формату. Однак, Safari 6+ та Opera 12- використовують дуже схожий формат. Переглядачі на рушії JavaScript V8 (такі, як Chrome, Opera 15+, Android Browser) та IE10+, з іншого боку, використовують інший формат (дивіться <a href="https://web.archive.org/web/20140210004225/http://msdn.microsoft.com/en-us/library/windows/apps/hh699850.aspx">архів документів MSDN щодо error.stack</a>).</p> - -<p><strong>Значення аргументів у стеку</strong>: До версії Firefox 14 після імені функції були б записані значення аргументів, перетворені у рядок, у круглих дужках, одразу перед знаком (<code>@</code>). І якщо об'єкти (або масиви) були б виведені у вигляді <code>"[object Object]"</code>, і, таким чином, не могли бути перетворені назад у справжні об'єкти, то скалярні величини можна відновити (хоча, можливо — це досі доступно у Firefox 14 — легше використовувати <code>arguments.callee.caller.arguments</code>, а ім'я функції можна отримати через <code>arguments.callee.caller.name</code>). <code>"undefined"</code> записується як <code>"(void 0)"</code>. Зауважте, що, якщо рядкові аргументи були передані з такими символами як <code>"@"</code>, <code>"("</code>, <code>")"</code> (або вони присутні в іменах файлів), на них не можна покладатись для розбиття рядка на окремі частини. Таким чином, у Firefox 14 та пізніших версіях це вже не є такою проблемою.</p> - -<p>Різні веб-переглядачі встановлюють це значення в різні моменти. Наприклад, Firefox встановлює його при створенні об'єкта {{jsxref("Error")}}, в той час як PhantomJS встановлює його лише при викиданні об'єкта {{jsxref("Error")}}, а реалізація <a href="https://web.archive.org/web/20140210004225/http://msdn.microsoft.com/en-us/library/windows/apps/hh699850.aspx">у архівних документах MSDN</a>, схоже, співпадає з PhantomJS.</p> - -<h2 id="Приклад">Приклад</h2> - -<p>Наступна HTML-розмітка демонструє використання властивості <code>stack</code> .</p> - -<pre class="brush: html"><!DOCTYPE HTML> -<meta charset="UTF-8"> -<title>Приклад трасування стеку</title> -<body> -<script> -function trace() { - try { - throw new Error('myError'); - } - catch(e) { - alert(e.stack); - } -} -function b() { - trace(); -} -function a() { - b(3, 4, '\n\n', undefined, {}); -} -a('перший виклик, першийАргумент'); -</script> -</pre> - -<p>За умови, що наведена розмітка збережена як <code>C:\example.html</code> у файловій системі Windows, вона створить діалогове вікно оповіщення з наступним текстом:</p> - -<p>Firefox 30 та новіші містять номер стовпця:</p> - -<pre><samp>trace@file:///C:/example.html:9:17 -b@file:///C:/example.html:16:13 -a@file:///C:/example.html:19:13 -@file:///C:/example.html:21:9</samp></pre> - -<p>З Firefox 14 по Firefox 29:</p> - -<pre><samp>trace@file:///C:/example.html:9 -b@file:///C:/example.html:16 -a@file:///C:/example.html:19 -@file:///C:/example.html:21</samp></pre> - -<p>Firefox 13 та старші натомість виведуть наступний текст:</p> - -<pre><samp>Error("myError")@:0 -trace()@file:///C:/example.html:9 -b(3,4,"\n\n",(void 0),[object Object])@file:///C:/example.html:16 -a("перший виклик, першийАргумент")@file:///C:/example.html:19 -@file:///C:/example.html:21</samp></pre> - -<h3 id="Стек_коду_у_eval_та_Function">Стек коду у eval() та Function()</h3> - -<p>Починаючи з Firefox 30, стек помилки коду у викликах <code>Function()</code> та <code>eval()</code> тепер створює звіти з більш детальною інформацією щодо номеру рядків та стовпчиків у цих викликах. Виклики Function позначаються записом <code>"> Function"</code>, а виклики eval записом <code>"> eval"</code>.</p> - -<pre class="brush: js">try { - new Function('throw new Error()')(); -} catch (e) { - console.log(e.stack); -} - -// anonymous@file:///C:/example.html line 7 > Function:1:1 -// @file:///C:/example.html:7:6 - - -try { - eval("eval('FAIL')"); -} catch (x) { - console.log(x.stack); -} - -// @file:///C:/example.html line 7 > eval line 1 > eval:1:1 -// @file:///C:/example.html line 7 > eval:1:1 -// @file:///C:/example.html:7:6 -</pre> - -<p>Ви також можете скористатися директивою <code>//# sourceURL</code>, щоб присвоїти ім'я коду, що передається. Дивіться також <a href="/uk/docs/Tools/Debugger/How_to/Debug_eval_sources">Відладка коду у eval() та Function()</a> у статтях на сторінці <a href="/uk/docs/Tools/Debugger">Debugger</a>, а також цей <a href="http://fitzgeraldnick.com/weblog/59/">пост</a>.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодних специфікацій. Нестандартна властивість.</p> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.stack")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="/en-US/docs/Components.stack">Components.stack</a></li> - <li>External projects: <a class="link-https" href="https://github.com/csnover/TraceKit/">TraceKit</a> and <a class="link-https" href="https://github.com/eriwen/javascript-stacktrace">javascript-stacktrace</a></li> - <li>MSDN: <a class="external" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh699850.aspx" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh699850.aspx">error.stack</a> docs</li> - <li><a href="https://github.com/v8/v8/wiki/Stack%20Trace%20API">Overview of the V8 JavaScript stack trace API</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/tosource/index.html b/files/uk/web/javascript/reference/global_objects/error/tosource/index.html deleted file mode 100644 index 7c86a836c7..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/tosource/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Error.prototype.toSource() -slug: Web/JavaScript/Reference/Global_Objects/Error/toSource -tags: - - Error - - JavaScript - - Prototype - - метод - - помилка -translation_of: Web/JavaScript/Reference/Global_Objects/Error/toSource ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Метод toSource() повертає код, який може створити таку саму помилку.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>e</var>.toSource()</pre> - -<h3 id="Значення_яке_повертається">Значення, яке повертається</h3> - -<p>Текстовий рядок з кодом, що викликає помилку.</p> - -<h2 id="Опис">Опис</h2> - -<p>Виклик методу <code>toSource</code> екземпляра {{jsxref("Error")}} (або інших <em><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Error#Типи_помилок">базових типів</a></em>) поверне текстовий рядок з кодом для створення помилки. Цей рядок може бути обчислений для створення (приблизно) такого самого об'єкта. Звісно, рядок з кодом відповідає структурі конструктора {{jsxref("Error")}}. Для прикладу:</p> - -<pre class="brush: js">(new<em>name</em>(<em>message</em> ,<em>fileName</em>,<em>lineNumber</em>)) -</pre> - -<p>де наведені атрибути відповідають аналогічним властивостям екземпляра помилки.</p> - -<div class="note"> -<p><strong>Примітка:</strong> Зауважте, що властивості, які використовуються методом <code>toSource</code> при створенні текстового рядка, можуть змінюватися і не точно відображатимуть функцію, що використовувалась для створення екземпляра помилки, або ім'я файлу, або номер рядка, де виникла помилка.</p> -</div> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодних специфікацій. Реалізовано у JavaScript 1.3.</p> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.toSource")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.fileName")}}</li> - <li>{{jsxref("Error.prototype.lineNumber")}}</li> - <li>{{jsxref("Error.prototype.message")}}</li> - <li>{{jsxref("Error.prototype.name")}}</li> - <li>{{jsxref("Object.prototype.toSource()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/error/tostring/index.html b/files/uk/web/javascript/reference/global_objects/error/tostring/index.html deleted file mode 100644 index f8e12300e8..0000000000 --- a/files/uk/web/javascript/reference/global_objects/error/tostring/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: Error.prototype.toString() -slug: Web/JavaScript/Reference/Global_Objects/Error/toString -tags: - - Error - - JavaScript - - метод - - помилка - - прототип -translation_of: Web/JavaScript/Reference/Global_Objects/Error/toString ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>toString()</strong></code> повертає текстовий рядок, що представляє заданий об'єкт {{jsxref("Error")}}.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>e</var>.toString()</code></pre> - -<h3 id="Значення_яке_повертається">Значення, яке повертається</h3> - -<p>Текстовий рядок, що представляє об'єкт {{jsxref("Error")}}.</p> - -<h2 id="Опис">Опис</h2> - -<p>Об'єкт {{jsxref("Error")}} заміщує метод {{jsxref("Object.prototype.toString()")}}, що успадковується усіма об'єктами. Його семантика наступна (за умови, що {{jsxref("Object")}} та {{jsxref("String")}} мають свої початкові значення):</p> - -<pre class="brush: js">Error.prototype.toString = function() { - 'use strict'; - - var obj = Object(this); - if (obj !== this) { - throw new TypeError(); - } - - var name = this.name; - name = (name === undefined) ? 'Error' : String(name); - - var msg = this.message; - msg = (msg === undefined) ? '' : String(msg); - - if (name === '') { - return msg; - } - if (msg === '') { - return name; - } - - return name + ': ' + msg; -}; -</pre> - -<h2 id="Приклади">Приклади</h2> - -<pre class="brush: js">var e = new Error('fatal error'); -console.log(e.toString()); // 'Error: fatal error' - -e.name = undefined; -console.log(e.toString()); // 'Error: fatal error' - -e.name = ''; -console.log(e.toString()); // 'fatal error' - -e.message = undefined; -console.log(e.toString()); // '' - -e.name = 'привіт'; -console.log(e.toString()); // 'привіт' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-error.prototype.tostring', 'Error.prototype.toString')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> -<div> - - -<p>{{Compat("javascript.builtins.Error.toString")}}</p> -</div> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Error.prototype.toSource()")}}</li> -</ul> |
