3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
1

var i; ... try { i = Sqr (i); } catch (err) { WScript.echo ("Negative number " + i); }

15.12.2011, 18:33. Показов 1211. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мужики, ногами не бейте, поскольку я в jscript новичок. Действую по аналогии с java. Итак, надо выполнить следующий код:
Javascript
1
2
3
4
5
6
7
8
var i;
...
try {
    i = Sqr (i);
}
catch (err) {
    WScript.echo ("Negative number " + i);
}
По идее, если i >= 0, то блок "catch" выполняться не должен. Но ни фига подобного: вне зависимости от знака i, этот блок срабатывает и выводится сообщение из блока catch. Что не так ?

Win2000, WSH 5.6

Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 18:33
Ответы с готовыми решениями:

Как сцепить строки? Например <? $var='Ура!'; $var=$var+' Еще раз...'; echo $var; ?>
Вот пример: &lt;? $var='Ура!'; $var=$var+' Еще раз...'; echo $var; ?&gt; Выводит Ура!0

Floating Point:Square Root of Negative Number
После запуска программы в Borland C++ вылезает следующая ошибка Floating Point:Square Root of...

If Err.Number Then GoTo
А как, в начале процедуры, поставить условие, если где - нибудь в процедуре произошла ошибка, тогда...

const n=20; type number=0.9; num= array[1.n] of number; var a,b,c: num; t: boolean;
Помогите решить пожалуйста) const n=20; type number=0..9; num= array of number; var...

5
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
15.12.2011, 19:23 2
Если ты хочешь излечь из числа квадратный корень, то надо писать i = Math.sqrt(i); В блок catch он у тебя попадал из-за ошибки интерпретации скрипта.

Далее: если методу sqrt передать отрицательное число, то он не возбудит исключение, а вернет специальное значение "Not A Number" - NaN. Проверку на него надо делать так
Javascript
1
2
i = Math.sqrt(i);
if (isNaN(i)) WScript.Echo("Negative number!");
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
15.12.2011, 19:48  [ТС] 3
Спасибо !
Ладно, насчет квадратного корня я понял. Но почему не ловится исключение на таком коде:
Javascript
1
2
3
4
5
6
7
8
9
var i;
...
try {
i = i/0;
WScript.echo (i);
}
catch (err) {
WScript.echo ("Alarm: deep anus !!!);
}
Выводится (извиняюсь) какая-то хрень: 1,#INF.
Я понимаю, что речь идет о бесконечности, но все равно - ИМХО, нелогично.
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
18.12.2011, 10:46 4
JavaScript не Java и не возбуждает исключений в таких случаях. При делении на 0 результатом будет NaN.
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
18.12.2011, 11:49  [ТС] 5
Понял, спасибо. Буду привыкать Кстати, а не подскажете ссылку на хорошее описание JS ?
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
18.12.2011, 12:06 6
Мы пытались недавно собрать ссылки по JavaScript - http://www.relib.com/forums/thread881483.aspx - но, народ особой активности не проявил.
0
18.12.2011, 12:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2011, 12:06
Помогаю со студенческими работами здесь

Составить процедуру, которая возвращает x и y для заданного числа n, таких, что sqr(n)=sqr(x)+sqr(y)
2 задачи на подпрограммы,просьба всех кому не лень помочь 1.Составить процедуру, которая...

Что не так с ASPError? err.Number() всегда равен нулю
Всем привет! Народ, помогите, какие ошибки не делал - err.Number() всегда равен нулю try {...

Дано натуральное число n. Получить f0f1.fn , где fi=(1/sqr(i)+1)+(1/sqr(i)+2)+.+(1/sqr(i)+i+1)
Дано натуральное число n. Получить f0f1..fn , где fi=(1/sqr(i)+1)+(1/sqr(i)+2)+..+(1/sqr(i)+i+1)...

Написать программу для расчёта произведения ряда (1+(1/sqr(1)*(1+(1/sqr(2).(1+(1/sqr(n)
Прошу помощи. Требуется написать программу для расчёта формулы:...

Как записать выражение С:=arccos(sqr(a)+sqr(b)+sqr(c))?
Как записать выражение типа С:=arccos(sqr(a)+sqr(b)+sqr(c))

Вычислить сумму ряда (1+ 1/1*sqr)+(1+ 1/12sqr)+(1+ 1/3*sqr).....(1+1/n*sqr);
1. Дано натуральное n. Вычислить: (1+ 1/1*sqr)+(1+ 1/12sqr)+(1+ 1/3*sqr).....(1+1/n*sqr);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru