Задать вопрос

Javascript try..catch?

В Javascript согласно спецификации есть такая конструкция, как try..catch. Я достаточно давно пишу клиентскую часть на Javascript (но это не основной мой язык) и практически не видел, чтобы подобные блоки где-нибудь применялись на клиентской стороне. Вопрос — в каких случаях оправдано применение подобного блока и какие существуют возможные ограничения (связанные, например, с различием в реализации Javascript в разных браузерах)? Насколько сильно это нужно при написании серверного Javascript?
  • Вопрос задан
  • 11360 просмотров
Подписаться 12 Оценить Комментировать
Ответ пользователя ksdaemon К ответам на вопрос (9)
ksdaemon
@ksdaemon
Согласен с первым комментарием: наиболее логичное место, где хочется использовать try/catch — это например оборачивать запросы через аякс на сервер, но в объекте XmlHttpRequest, да и не только — есть специальные методы типа onerror, в которых если надо можно реализовать обработку неверных ответов. Так что здесь использование try/catch теряет свой смысл. Так что, наверное, этот механизм можно использовать, если вы просто привыкли писать с использованием пользовательских исключений. То есть например проверка формы на валидность данных — проверяете, нашли ошибку, бросили сами исключение, сами его поймали и обработали.
Возможно имеет смысл использовать try/catch при попытках использовать какие-нибудь вещи, доступные в современных браузерах, а в случае их отсутствия делать fallback на что-то простое.
Ответ написан