PDA

Просмотр полной версии : непонятное поведение try/catch


VovkaMorkovka
04.07.2007, 20:31
Здравствуйте господа
В процессе работы возникла следующая проблема
В процессе выполнения участка кода


try{
if (isNaN(tmpSpeedX)) throw (" tmpSpeedX:"+tmpSpeedX);
if (isNaN(tmpSpeedY)) throw ("tmpSpeedY"+tmpSpeedY);
}catch(e:Error){
tmpSpeedX=0;
tmpSpeedY=0;
trace(e.toString()+" countOfUpdated:"+countOfUpdated);
}


Вывод следующий

tmpSpeedX:NaN

По моему мнению должно выводится
"Ошибка"+" countOfUpdated:"+countOfUpdated

ASO - файлы чистил, что работает ИМЕННО ЭТО исключение проверял
Вопрос - что это такое может быть и как с этим бороться?

iNils
04.07.2007, 20:37
new Error где?

VovkaMorkovka
04.07.2007, 20:51
Опс, действительно, а можете объяснить почему работало throw "..."?

iNils
04.07.2007, 21:06
А почему оно не должно работать?
throw - генерирует, или выдает ошибку, которая должна быть обработана (поймана) блоком catch{}. Если исключение, выданное блоку catch, не обработано, строковое значение сгенерированной величины отправляется на панель Output.