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/stack | |
| 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/stack')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/error/stack/index.html | 125 |
1 files changed, 0 insertions, 125 deletions
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> |
