При написании программы на любом языке программирования так или иначе не обходится без ошибок, которые необходимо уметь найти и исправить. В качестве примера давайте напишем простейшую программу, которая должна показать модальное окно:
alert ( Привет ! ) ;
В этой простейшей программе есть ошибка JavaScript, которую нам и нужно найти, поскольку с ней наш код не работает и модальное окно не показывается. Мало того, в JavaScript многие ошибки можно назвать фатальными, поскольку из-за них может прекратить работу не только ваш скрипт, но и сторонние библиотеки JavaScript до тех пор, пока ошибка не будет исправлена.
Онлайн курс по JavaScript
Научитесь создавать приложения со сложными интерфейсами
Это основной язык для современной веб-разработки — почти 100% сайтов работает на JavaScript. Освойте его с нуля всего за 4 месяца, и вы сможете зарабатывать от 70 000 рублей.
Вас ждут 2 уровня по программированию на JavaScript
Подходит для новичков без опыта в программировании
Практика на вебинарах с разработчиками из крупных компаний
Без этого вы не станете программистом! Найти ошибку в коде. Отладка. Как пользоваться отладчиком #23
Что же поможет найти ошибки JavaScript? Консоль браузера. Здесь мы вкратце пройдемся по этому инструменту в различных браузерах, в частности это будет Firefox и Chrome. В обоих браузерах консоль есть из коробки.
Начнем с Firefox. Для того, чтобы увидеть ошибку в нашем коде, необходимо открыть консоль браузера. Для этого кликаем в окне браузера правой кнопкой мыши и в контекстном меню выбираем пункт Исследовать элемент.
Внизу окна появится панель, в которой мы можем исследовать и отлаживать наш код. Полагаю, если вы верстали сайты, вы уже могли использовать этот инспектор кода для исследования верстки. Инструмент значительно упрощает жизнь верстальщика, даже и не представляю, как раньше верстали сайты без него
Итак, в открывшейся панели рядом со вкладкой Инспектор есть вкладка Консоль, она то нас и интересует. Переключимся на нее, еще раз обновим страницу и увидим все ошибки JavaScript. В нашем случае это всего одна синтаксическая ошибка, которая произошла в файле scripts.js на первой строке.
Нам остается лишь перейти в данный файл, заметить, что мы забыли заключить строку в кавычки и исправить эту ошибку:
Вот теперь ошибок нет и код успешно выполнился. Кроме встроенной консоли для Firefox можно отдельно установить расширение Firebug, которое, по сути, является аналогом. После установки Firebug можно вызвать, как и встроенную консоль, из контекстного меню или использовать для этого горячую клавишу F12. Вот таким образом выглядит Firebug:
Ну и консоль Хрома:
Поиск и устранение всех ошибок Windows. Как исправить ошибку?
Она также вызывается из контекстного меню или клавишей F12.
Конечно, для исправления ошибки в единственной строке кода консоль зачастую не нужна. Но если кода десятки и сотни строк, тогда без консоли обойтись практически нереально. При этом в консоли можно не только смотреть ошибки, но и даже писать собственный JavaScript код, но это уже тема отдельной статьи.
Онлайн курс по JavaScript
Научитесь создавать приложения со сложными интерфейсами
Это основной язык для современной веб-разработки — почти 100% сайтов работает на JavaScript. Освойте его с нуля всего за 4 месяца, и вы сможете зарабатывать от 70 000 рублей.
Вас ждут 2 уровня по программированию на JavaScript
Подходит для новичков без опыта в программировании
Практика на вебинарах с разработчиками из крупных компаний
На этом статья подошла к концу, теперь вы знаете, как найти в своем коде ошибки JavaScript и исправить их. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!
Источник: webformyself.com
Как быстро найти ошибку в программе?
Ответ покажется вам парадоксальным. Лучше ее вообще не искать. Вижу озадаченные лица. Кто-то с возмущением вновь перечитывает эти строки и ставит под сомнение компетентность автора. Но я повторю: лучше ее не искать.
Конечно, самое правильное — ее не делать. Но возможно ли такое? Это в реальном мире мы считаем, что можем безошибочно прожить день. На самом деле в наших действиях — масса неувязок, которых мы просто не замечаем. А компьютер сразу выявляет их и представляет нам в развернутом виде.
Итак, программист ввел несколько новых операторов, после чего работавшая до того программа полностью перестала функционировать. Хорошо, если нововведений мало. Тогда в них легче разобраться. Программист зорким взглядом определил, где он ошибся, и быстро исправил. Программа не заработала.
Тогда он стал внимательно изучать каждый новый символ. Наконец, радостно хлопнув себя по лбу и воскликнув: — Как все просто! – Он сделал еще одну корректуру и пустил модуль на выполнение. Но что такое? Программа аварийно завершилась!
Не в силах больше выносить такое издевательство от своего детища, программист
убрал все новшества и облегченно вздохнул. Он вернулся к прежнему варианту.
Сейчас он убедится, что программа работает и начнет вносить корректуру построчно. Но вот беда! Убедиться не удается. Программа не идет, как будто новые операторы не убраны! Но ведь он их убрал!
Их нет!
К сожалению, такие ситуации случаются нередко. Лично со мной они были.
Выход из них, надо признаться, тяжеловат. Не знаешь, где и что искать и за что хвататься. Порой на поиск причины уходят дни. А так хотелось завершить работу еще сегодня!
В этом случае, имеет смысл, вернуться к версии до изменений, причем не так, как сделал вышеописанный программист, а взять текст из копии. Это позволит не ломать голову над загадочной проблемой и думать о более существенных вещах.
Рассмотрим все сначала. Программа начата, отладочная среда существует. Предлагаю идти маленькими шажками, внося обозримые изменения и сразу подвергая их отладке. По завершению каждого, пусть небольшого этапа, имеет смысл делать копию. В таком поступательном режиме можно долгое время избегать серьезных ошибок. Но вот, наконец, Вам “удалось” ее сделать.
Если чувствуете, что увязаете в поиске, то рекомендую вернуться к состоянию до ошибочной корректуры. Вот в чем смысл фразы, с которой я начинал повествование. Ломка головы над вылавливанием ошибки не всегда полезна. Поломать голову еще придется.
Описал я, кстати, очень хороший вариант ошибки. Вы опять удивлены? Не надо. Когда программа перестает работать сразу – это моментальный диагноз Ваших действий. Вы вынуждены что-то предпринимать, чтобы выровнять ситуацию.
И, как правило, такого рода ошибки, как бы Вы с ними не помучались, найти все-таки легче, чем те, что не проявились сразу.
Бывают очень тонкие, очень коварные недочеты, которые проявятся, где-то, через год эксплуатации, а то и позже.
К примеру, Вы что-то накрутили с тысячными долями копейки или миллиметра.
Через 7 месяцев, когда уже и забыта данная работа, а на руках давно другая, к Вам прибегает бухгалтер с пытливо выпученными глазами и говорит, что у нее потерялись 132 тысячи. Аналогично можно представить, как заказчик расчета на прочность раздосадован тем, что длина детали у него получилась отрицательная.
Здесь уже к начальному безошибочному варианту не вернешься. Надо ликвидировать ляпсус и постараться не зацепить что-нибудь еще. Когда ошибка идет стабильно – это прекрасно. Ее гораздо легче выловить. Но, если она — то есть, то нет – это куда хуже. Такие ошибки иногда называют плавающими.
Они обычно возникают из-за случайно заносимой информации в какое-то поле.
В старых операторных языках все поля были у нас под контролем. Их было можно и сравнительно легко отследить и также легко запортить. В новых, объектно-ориентированных – все сделано так, чтобы мы поменьше попадали на нижний уровень. Но умудриться напортачить, поверьте мне, можно и здесь.
Иногда причина неверной работы программы не в одной, а в двух накладывающихся ошибках. Выловить их гораздо сложнее. Они создают плавающий эффект. Программа “вылетает” то в одном, то в другом месте и, вообще, творит что-то невообразимое. Что ни делаешь, не можешь найти логики.
В этих случаях полезно самому в текст программы внести что-то нелогичное.
Зачем? Дело в том, что Вам необходимо сдвинуться с мертвой точки любым способом, раскачать лодку так, чтобы она перевернулась. И тогда программа выдаст что-то более понятное для Вас, а Ваши бедные мозги вдруг станут на место.
Вот я слегка коснулся будоражащего воображение программиста понятия “ошибка”. Не претендую на то, что мои советы самые надежные и точные.
Просто я делюсь своим не совсем скромным опытом.
Источник: proza.ru
6 наиболее часто возникающих HTTP ошибок и способы их устранения
Большинство пользователей интернета знакомы с ошибками, которые иногда возникают при работе с сайтом или поиске той или иной информации в поисковых системах.
Если вы являетесь владельцем сайта, который вдруг начал выдавать подобные ошибки, вам важно понимать, что они означают, причину их возникновения и способ их устранения. Часто на различных форумах в интернете можно увидеть обсуждения на тему устранения ошибок на сайте. Порой возникшие проблемы незначительны и могут быть решены пользователем самостоятельно, без обращения к специалистам. Для того, чтобы знать, что делать в непредвиденной ситуации, стоит познакомиться с описанием самых распространенных ошибок, а также прочитать руководство по их устранению.
Типы ошибок
- 2xx — запрос выполнен успешно
- 3xx — запрос успешно перенаправлен — тоже положительный код.
- 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента.
- 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.
Ошибка 400 — “Плохой запрос”
- Блокировка браузера антивирусом
- Блокировка брендмауэра Windows браузером
- Большое количество файлов cookies и данных в сache
- Перебои в работе интернета
Для того, чтобы определить, какой из перечисленных вариантов относится к вашей ситуации, необходимо провести п проверку каждого из них до полного устранения проблемы. Начнем с первой возможной причины.
Блокировка браузера
- Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
- Проверьте, есть ли ваш браузер в списке и каков уровень доверия к нему
- Повысьте уровень доверия к вашему браузеру, если он низкий
- Сохраните новые настройки и попробуйте снова зайти в панель управления
Если ошибка сохраняется, то переходите к проверке следующей причины.
Блокировка брендмауэра Windows
- Попробуйте отключить брендмауэр на время: меню Пуск — Панель управления — Система и безопасность — Брандмауэр Windows — Включение и отключение
- очистите кэш и куки
- обновите страницы с ошибкой
- Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.
Если проблема осталась — продолжайте проверку.
Cache и cookies
- Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
- Удалите ненужные файлы
- Проверьте работу вашего браузера
Перебои в работе интернета
- Свяжитесь со своим интернет-провайдером и узнайте, проводятся ли у них какие-то работы
- Уточните, сколько времени займут работы
Ошибка 403 — Доступ запрещен
- Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm, или index.php.
- Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
- Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.
Ошибка 404 — Файл не найден
Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
- Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
- Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.
Ошибка 500 — Внутренняя ошибка сервера
- Невозможно запустить скрипт. Скорее всего указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Ошибка 502 — Bad Gateway
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
Ошибка 503 — Service Temporarily Unavailable
У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.
- Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:
- Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов, либо поищите более быстрый аналог.
- Проверить наличие у вас медленных запросов- в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
- Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.
- Большое количество запросов к серверу. Причин возникновения таких запросов несколько:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
- DDoS-атаки, флуды, спамы в комментарии так же могут вызывать большое количество запросов. В случае DDoS-атаки, необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее о том, что необходимо делать, если ваш сайт под DDoS-атакой, мы писали в одной из статей нашего блога.
Действия при появлении ошибки
Перечисленные ошибки могут возникать довольно часто, поэтому знание причин их возникновения и способов устранения помогут вам самостоятельно решить появившуюся проблему, экономя время на ожидании ответа и поиска причины технической поддержкой.
Источник: spark.ru