Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.07.2011, 12:30
Интересующийся
Отправить личное сообщение для kazimira6 Посмотреть профиль Найти все сообщения от kazimira6
 
Регистрация: 15.02.2011
Сообщений: 12

Не срабатывает try...catch
Всем доброго дня!!! Не могу понять, почему не работает try...catch. Если хоть одно поле не заполнено, должен сработать код внутри catch(e){...} Заранее спасибо за ответы!

<head>
<title>Animation Javascrip</title>
<style type="text/css">
	*{
		margin:0;
		padding:0;
		}
		#wrapper{
		width:600px; 
		margin:0 auto; 
		background:#dedede; 
		position:relative;
		}
		#num div{
		float:left; 
		padding:20px;
		}
		.clearfix:after {
			content: ".";
			display: block;
			clear: both;
			visibility: hidden;
			line-height: 0;
			height: 0;
		}
		 
		.clearfix {
			display: inline-block;
		}
		 
		html[xmlns] .clearfix {
			display: block;
		}
		 
		* html .clearfix {
			height: 1%;
		}
		#shell{
		background:#ffffff;
		width:150px; 
		height:100px;
		padding:20px;
		}
		#but{
		margin-right:20px;
		}

</style>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
</head>
<body>
<div id="wrapper" class="clearfix">
<form id="num" action="" method="" class="clearfix">
<div class="clearfix"><label>Введите длину гипотенузы: <input type="text" name="hypotenuse" tabindex="1" /></label></div>
<div class="clearfix"><label>Введите длину противолежащего катета: <input type="text" name="opposite_cathetus" tabindex="2" /></label></div>
<div class="clearfix"><label>Введите длину прилежащего катета: <input type="text" name="adjacent_cathetus" tabindex="3" /></label></div>
<div class="clearfix"><input type="button" value="результат" tabindex="4" id="but" /><input type="reset" value="очистить поля" /></div>
</form>
[JS]<script type="text/javascript">
	document.getElementById("but").onclick = function(){
		var num = document.getElementById("num");
		var h = num.hypotenuse.value;
		var o_c = num.opposite_cathetus.value;
		var a_c = num.adjacent_cathetus.value;
		function TrRes() {
			this.funcCos = function(){
				return a_c/h;
			}
			this.funcSin = function(){
				return o_c/h;
			}
			this.funcTg = function(){
				return o_c/a_c;
			}
			this.funcCtg = function(){
				return a_c/o_c;
			}
			this.funcErr = function(){
					alert("Ошибка: введите числовое значение!")
				}

		}
			
			var myTrRes = new TrRes();
			try{
				alert("Косинус равен:"+" "+myTrRes.funcCos()); 
				alert("Синус равен:"+" "+myTrRes.funcSin()); 
				alert("Тангенс равен:"+" "+myTrRes.funcTg());
				alert("Котангенс равен:"+" "+myTrRes.funcCtg());
				} catch (e) {
				for(var i=0; i<num.elements.length; i++){
					if(num.elements[i].type == "text" && num.elements[i].value == ""){
						myTrRes.funcErr();
					}
				}
				} 
				


	}
</script>[/JS]
</div>
</body>
Ответить с цитированием
  #2 (permalink)  
Старый 22.07.2011, 12:48
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

и почему это он, по-вашему, должен сработать, интересно?
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2011, 12:52
Интересующийся
Отправить личное сообщение для kazimira6 Посмотреть профиль Найти все сообщения от kazimira6
 
Регистрация: 15.02.2011
Сообщений: 12

Я не знаю как ответить на ваш вопрос, ваый. Возможно я ошиблась в синтаксисе. Я очень мало знаю, поэтому и прошу о помощи. Только и всего). Однако, спасибо за ответ!
Ответить с цитированием
  #4 (permalink)  
Старый 22.07.2011, 13:04
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

я к тому, что у вас все нормально в коде (в смысле нету оснований отрабатывать catch блоку). вот гляньте про ошибки для начала: http://javascript.ru/Error.
понимаете, деление на ноль (или на пустую строку) - это не ошибка с точки зрения javascript интерпретатора, а потому тут try-catch ни к чему. вам надо просто сделать соответствующие проверки перед выполнение ваших операций.
Ответить с цитированием
  #5 (permalink)  
Старый 22.07.2011, 13:49
Интересующийся
Отправить личное сообщение для kazimira6 Посмотреть профиль Найти все сообщения от kazimira6
 
Регистрация: 15.02.2011
Сообщений: 12

Спасибо, ваый! Всегда важно иметь направление, это укорачивает путь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает обработчик window.onload. Alex82 Events/DOM/Window 16 22.02.2013 21:06
не срабатывает на второй раз ajax[отправка формы] vovs jQuery 5 21.09.2010 12:12
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 17:45
try и catch подскажите как правильно сделать Jekel Javascript под браузер 9 31.03.2010 10:33