Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Исключения (throw,try,catch,finally) (https://javascript.ru/forum/misc/7326-isklyucheniya-throw-try-catch-finally.html)

Мараторий 27.01.2010 16:42

ФФ выдает ошибку потому, что у вас еще не создан объект body.

Мараторий 27.01.2010 16:44

вы такое в мозиле проверьте
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
try {
  document.body.style.height = "fgdfg";
} catch(e) {
    alert(e.name);
  }
</script>
</body>
</html>

Никакой ошибки.

Мараторий 27.01.2010 16:48

Через instanceof
try {
  document.body.style.height = "fgdfg";
} catch(e) {
    alert(e instanceof TypeError); // flase
    alert(e instanceof Error); // true
  }

Niar 27.01.2010 16:50

В хроме ваши примеры не запускаются=)
Значит проверяйте на все типы.

Мараторий 27.01.2010 16:53

Что значит не запускаются? Там, как и в фф не генерируется ошибка.

Niar 27.01.2010 17:06

Те примеры что вы на форуме приводите по кнопке Запустить! не запускаются
это просто так к сведенью

Мараторий 27.01.2010 17:18

Niar,
Что вы называете "запускаются"?
Если вы подразумеваете, что ничего не происходит, никаких алертов не выскакивает, то вы правы отчасти.

В нормальных браузерах действительно при этих действиях никаких ошибок не генерируется (ничего не происходит).
Но вот IE другое дело. Он генерирует ошибку при попытке назначить невалидный стиль DOM элементу.

P.S.
Кстати не обязательно через style.
element.align = "ggg" // В IE также генерирует ошибку.

Niar 27.01.2010 17:22

вы проверили через instanceof все типы ошибок?

Мараторий 27.01.2010 17:30

проверил, которые знал: EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.
Ни один не подошел.
Может есть еще типы, которые я забыл?

Niar 27.01.2010 17:41

Может это просто Error?
Вы всё проверили
Или у ИЕ может свои типы есть


Часовой пояс GMT +3, время: 06:08.