неділю, травня 10, 2009

Искусство JavaScript ошибок: Генерация

Когда я был молод, самая одурманивающая часть языков программирования была возможность генерации ошибок. В то время, моя первая реакция на эту возможность была такова: "Какой дурак будет сам генерировать ошибки, кому это нужно ????". Ошибки были врагами для меня, я избегал их и панически боялся. Я считал что способность генерации ошибок - это излишнее. Сейчас, по прошествии некоторого времени, я большой фан в генерации моих собственных ошибок. Ошибки позволяют дебажить и поддерживать код с легкостью.

В процессе программирования ошибка появляется в том случае, если возникло что-то неожиданное. Возможно неверный параметр передан в функцию, или математическая операция была неверно вызвана. Языки программирования определяют для себя четкие правила, в случае отклонения от которых - результатом будет ошибка, благодаря ей программист сможет исправить свой код. Дебаг кода будет не возможен, если не будет ошибок. Если все будет проходить тихо и ошибки не будут генерироваться - написание кода превратится в муку. Ошибки - лучшие друзья программиста.

Проблема ошибок заключается в том, что они выскакивают в самом неподходящем месте и в самое неподходящее время. Хуже всего то, что сообщение выдаваемое ошибкой зачастую очень маленькое и не понятно, что произошло. JavaScript ошибки пресловуто неинформативные и скрытные (особенно это касается Internet Explorer). Представьте себе, что ошибка выскочила и описывает вам, что и где произошло. В таком случае дебаг будет намного проще. Вот в этом и есть прелесть генерации своих собственных ошибок.

Всегда проще предпалагать о ошибке в конкретном месте, нежели в коде в целом. Это очень хорошая практика. Когда строят машину, ее собирают из частей, которые имеют собственные характеристики и реакцию на столкновение. При полной сборке можно будет быть убежденным, что машина при ударе поведет себя так, а не иначе. Теми же самыми методами следует руководствоваться и при написании программного кода.

Даже если JavaScript будет активно развиваться на протяжении будущих нескольких лет, JavaScript разработчики будут иметь намного меньше методов дебага и отладки кода, нежели разработчики других языков. Генерация собственных ошибок в JavaScript намного ценнее чем в других языках из за сложности дебага и отслеживания ошибок. Вы можете сгенерировать ошибку оператором throw и передать обьект этому оператору. Любой тип обьекта может быть сгенерирован, однако обьект Error обычно генерируется следующим образом:
throw new Error("Произошло что-то не хорошее.")

Немає коментарів:

Дописати коментар

Що таке база данних?

База данних — це спеціальна система зберігання, організації та пошуку інформації. Вона містить дані у вигляді таблиць, записів та інших стру...