29.12.2006, 22:24
общий
это ответ
Здравствуйте, Талипов А Н!
Примеры в приложении (если что не понятно - пишите).
1. catch - обработчик ошибки. В качестве параметра получает массив, содержащий информацию об ошибки, которая произошла внутри try.
У каждого браузера свои описания ошибки и элементы массива разные.
2. Ещё есть такое понятие как throw - бросок.
С помощью него, Вы можете более точно обрабатывать ошибки.
Параметр может являться строкой, целым числом, булевым или объектом.
Смотрите код, ничего сложного, думаю, всё понятно.
3. Обработка события onerror. Тут тоже ничего сложного.
К сожалению, Opera не поддерживает это событие (возможно, в 9-ой версии исправили).
Если Вам нужно просто отлаживать код, то лучше всего скачать JavaScript дебаггеры.
Для Firefox существуют расширения, которые могут отлаживать javascript код или которые выдают информацию об ошибке.
Например:
FireBug: https://addons.mozilla.org/firefox/1843/
JavaScript Debugger: https://addons.mozilla.org/firefox/216/
Console²: https://addons.mozilla.org/firefox/1815/
DebugLogger: https://addons.mozilla.org/firefox/3983/
У Firefox есть стандартная Консоль ошибок (Инструменты -> Консоль ошибок).
Просто программы - дебаггеры:
JavaScript Editor: http://www.yaldex.com/
Aptana: http://www.aptana.com/index.php
SplineTech JavaScript Debugger for HTML DHTML: http://www.downloadjunction.com/product/store/23164/index.html
http://www.downloadjunction.com/product/store/25982/index.html
JavaScript&DOM Factory: http://www.zvon.org/xxl/JSDOMFactory/
Есть ещё Visual Studio 2005, отличный debugger, но только для javascript качать не стоит.
Удачи!
Приложение:
//------- 1 -------//<script type="text/javascript">try { alerttt("test");}catch(e) { var txt; for(var key in e) txt += key + ‘ - ‘ + e[key] + ‘\n‘; alert(txt);}</script>//------- 2 -------//<script type="text/javascript">try { var n = new Number(Math.random(10)*10); if(n < 4) throw(‘error_1‘); if(n > 6) throw(‘error_2‘); if(n >= 4 && n <= 6) alert(‘Successful‘);}catch(e) { switch(e) { case ‘error_1‘: alert(‘Error: n < 4‘); break; case ‘error_2‘: alert(‘Error: n > 6‘); break; }}</script>//------- 3 -------//<script type="text/javascript">window.onerror = handleErr;function handleErr(msg, url, l) { var txt; txt += ‘Error: ‘ + msg + ‘\n‘; txt += ‘URL: ‘ + url + ‘\n‘; txt += ‘Line: ‘ + l + ‘\n‘; alert(txt); return true;}alerttt(‘test‘);</script>