From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../global_objects/error/stack/index.html | 125 --------------------- 1 file changed, 125 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/error/stack/index.html (limited to 'files/uk/web/javascript/reference/global_objects/error/stack') 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 ---- -
{{JSRef}} {{non-standard_header}}
- -

Нестандартна властивість stack об'єктів {{jsxref("Error")}} надає звіт про те, які функції були викликані, в якому порядку, з якого рядка файлу та з якими аргументами. Текстовий рядок стеку ведеться з останніх викликів до більш ранніх, і аж до початкового виклику у глобальній області видимості.

- -

Опис

- -

Кожний крок буде відокремлений новим рядком, де перша частина є іменем функції (якщо це не виклик з глобальної області видимості), далі через символ (@) розташування файлу (окрім випадку, коли функція є конструктором помилки під час викидання помилки), двокрапка та, якщо доступне розташування файлу, номер рядка. (Зауважте, що об'єкт {{jsxref("Error")}} також має властивості fileName, lineNumber та columnNumber для отримання цієї інформації про помилку, що викидається (але тільки про помилку, а не стек її викликів).)

- -

Зауважте, що це формат, який використовується у Firefox. Не існує стандартного формату. Однак, Safari 6+ та Opera 12- використовують дуже схожий формат. Переглядачі на рушії JavaScript V8 (такі, як Chrome, Opera 15+, Android Browser) та IE10+, з іншого боку, використовують інший формат (дивіться архів документів MSDN щодо error.stack).

- -

Значення аргументів у стеку: До версії Firefox 14 після імені функції були б записані значення аргументів, перетворені у рядок, у круглих дужках, одразу перед знаком (@). І якщо об'єкти (або масиви) були б виведені у вигляді "[object Object]", і, таким чином, не могли бути перетворені назад у справжні об'єкти, то скалярні величини можна відновити (хоча, можливо — це досі доступно у Firefox 14 — легше використовувати arguments.callee.caller.arguments, а ім'я функції можна отримати через arguments.callee.caller.name). "undefined" записується як "(void 0)". Зауважте, що, якщо рядкові аргументи були передані з такими символами як "@", "(", ")" (або вони присутні в іменах файлів), на них не можна покладатись для розбиття рядка на окремі частини. Таким чином, у Firefox 14 та пізніших версіях це вже не є такою проблемою.

- -

Різні веб-переглядачі встановлюють це значення в різні моменти. Наприклад, Firefox встановлює його при створенні об'єкта {{jsxref("Error")}}, в той час як PhantomJS встановлює його лише при викиданні об'єкта {{jsxref("Error")}}, а реалізація у архівних документах MSDN, схоже, співпадає з PhantomJS.

- -

Приклад

- -

Наступна HTML-розмітка демонструє використання властивості stack .

- -
<!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>
-
- -

За умови, що наведена розмітка збережена як C:\example.html у файловій системі Windows, вона створить діалогове вікно оповіщення з наступним текстом:

- -

Firefox 30 та новіші містять номер стовпця:

- -
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
- -

З Firefox 14 по Firefox 29:

- -
trace@file:///C:/example.html:9
-b@file:///C:/example.html:16
-a@file:///C:/example.html:19
-@file:///C:/example.html:21
- -

Firefox 13 та старші натомість виведуть наступний текст:

- -
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
- -

Стек коду у eval() та Function()

- -

Починаючи з Firefox 30, стек помилки коду у викликах Function() та eval() тепер створює звіти з більш детальною інформацією щодо номеру рядків та стовпчиків у цих викликах. Виклики Function позначаються записом "> Function", а виклики eval записом "> eval".

- -
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
-
- -

Ви також можете скористатися директивою //# sourceURL, щоб присвоїти ім'я коду, що передається. Дивіться також Відладка коду у eval() та Function() у статтях на сторінці Debugger, а також цей пост.

- -

Специфікації

- -

Не є частиною жодних специфікацій. Нестандартна властивість.

- -

Сумісність з веб-переглядачами

- -
-
- - -

{{Compat("javascript.builtins.Error.stack")}}

-
-
- -

Див. також

- - -- cgit v1.2.3-54-g00ecf