Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   никак не могу найти ошибку. наследование (https://javascript.ru/forum/events/23204-nikak-ne-mogu-najjti-oshibku-nasledovanie.html)

AmniCat 15.11.2011 23:39

никак не могу найти ошибку. наследование
 
пронаследовать класс Error, установить 2 кнопки, при нажатии на кнопку создается переменная, которая потом обрабатывается в try{catch()} и в зависимости от имени класса выдает разные сообщения
<!DOCTYPE HTML>
<html>
<head>
<title>try to push</title>
<script type="text/javascript">
var error= new Error();
function MyError (message){
this.message = message,
this.number = number,
show: alert(message);
}
MyError.prototype=error;
MyError.prototype.constructor=MyError;
var error1;
function DisplayError (btn){
if (btn.value=='MyError'){
error1 = new MyError('My Error'); //ошибка, как показывает тестинг где-то   уже на этом этапе
}
if (btn.value=='Error'){
var error1=new Error();
}
}
try{
throw(error1);
catch(error1){
if (className(error1)=="MyError")
alert("My Error!");
}
}
</script>
</head>
<body>
click on one of the buttons
<form>
<input type="button" value="MyError"
onclick="DisplayError(this)"/>
<input type="button" value="Error"
onclick="DisplayError(this)"/>
</form>
</body>
</html>

Matre 16.11.2011 05:11

Во-первых, нельзя писать try { ... catch (e) {...} }, надо try {...} catch (e) { ... }
Во-вторых, непонятно, что имелось в виду здесь:

Цитата:

show: alert(message);
но это тоже вызывает syntax error.

Ошибка на ошибке.

Kolyaj 16.11.2011 09:43

Цитата:

Сообщение от Matre
В-третьих, где объявляется конструктор Error?

alert(Error);

AmniCat 17.11.2011 00:50

аеее, оно заработало, спасибо за ответы, хотя, в чем была основная проблема, я так и не поняла. зато работает, танцы с бубном помогли=)


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