aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/globaleventhandlers/onerror/index.html
blob: e92f11ceaf0f0a0b6563b19400228ac36806711f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
title: GlobalEventHandlers.onerror
slug: Web/API/GlobalEventHandlers/onerror
tags:
  - API
  - HTML DOM
  - Свойство
  - Ссылка
translation_of: Web/API/GlobalEventHandlers/onerror
---
<div>{{ ApiRef("HTML DOM") }}</div>

<p>Обработчик события для ошибок среды Javascript.</p>

<p>Обратите внимание, что некоторые/многие <code>error</code> не вызывают <code>window.onerror</code>, вы должны слушать их специально.</p>

<h2 id="Syntax" name="Syntax">Синтаксис</h2>

<pre>window.onerror = funcRef;
</pre>

<h3 id="Parameters" name="Parameters">Параметры</h3>

<ul>
 <li><code>funcRef</code> ссылка на функцию. Когда функция возвращает <code>true</code>, блокируется вызов обработчика события по умолчанию. Параметры функции:

  <ul>
   <li>Сообщение ошибки (string)</li>
   <li>Url, где произошла ошибка (string)</li>
   <li>Номер строки, где произошла ошибка (number)</li>
   <li>Номер столбца для строки, в которой произошла ошибка (number) {{gecko_minversion_inline("31.0")}}</li>
   <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error Object</a> (object) {{gecko_minversion_inline("31.0")}}</li>
  </ul>
 </li>
</ul>

<h2 id="Example" name="Example">Примеры</h2>

<pre class="brush: js">// Пример 1:

// Предотвращает диалоги об ошибках, отображает какая это функция окна, это нормальное
// поведение - путём переопределения обработчика событий по умолчанию для событий об ошибках, которые
// переходят окну.
window.onerror = null;

// Пример 2:

var gOldOnError = window.onerror;
// Переопределить прошлый обработчик события.
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
  if (gOldOnError)
    // Вызвать прошлый обработчик события.
    return gOldOnError(errorMsg, url, lineNumber);

  // Просто запустить обработчик события по умолчанию.
  return false;
}
</pre>

<h2 id="Notes" name="Notes">Примечания</h2>

<p>Событие возникает, когда происходит ошибка в скрипте.</p>

<p>При использовании строчной HTML-разметки (<span class="nowiki">&lt;body onerror="alert('an error occurred')&gt;...</span>), аргументы не именуются. Они могут быть доступны через arguments от <code>{{ mediawiki.external(0) }}</code> до <code>{{ mediawiki.external(2) }}</code>.</p>

<p>Здесь недоступен <code><a class="external" href="/en/Components.stack" title="https://developer.mozilla.org/En/Components.stack">Components.stack</a>.caller для использования</code>. (Смотрите <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=355430"><strong>bug 355430</strong></a>.)</p>

<h2 id="Specification" name="Specification">Спецификации</h2>

<p><a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/handlers.html#1120097">JavaScript 1.1</a></p>