<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Обработка ошибок в PHP

Обработка ошибок в PHP

Выпуская сайт в Интернет, 99.9% того, что там содержится масса ошибок, причём именно масса. Вроде Вы всё проверили, вроде всё протестировали, однако, ошибки всё равно не избежны, и очень важно получать о них своевременную информацию. И вот об обработке ошибок в PHP мы и поговорим в этой статье.

Значит, наша с Вами задача получать каким-то образом уведомления о возникающих проблемах. Давайте разберём такой простой код:

<?php
  /* Функция по обработке ошибок */
  function handlerErrors($code, $msg, $file, $line) {
    mail("admin@mysite.ru", "Произошла ошибка", "$msg ($code) в файле $file (строка $line)"); // Отправляем e-mail администратору о возникновении ошибки
    /* Здесь можно сделать редирект на страницу с информацией о том, "что ошибка получена, и скоро она будет исправлена" (так поступает множество серьёзных сервисов, по типу mail.ru и прочих) */
  }
  set_error_handler(handlerErrors); // Устанавливаем наш обработчик ошибок
  $mysqli = new mysqli("localhost", "root", "", "mydb"); // Пытаемся подключиться к базе данных
  if (!$mysqli) {
    /* Если подключение не удалось, то вызываем ошибку */
    trigger_error("No connect");
  }
?>

В результате, Вы можете получить на свой e-mail, например, следующее: "mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) (2) в файле Z:\home\test.local\www\index.php (строка 8)".

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

А на этапе создания сайта Вам нужно как можно больше найти "опасных" мест, где могут возникнуть ошибки и поставить там проверку и вызов trigger_error() в случае её возникновения.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (6):

sync.o sync.o 26.04.2013 12:40:43

Отличная статья, спасибо!

Ответить

malina95 malina95 26.04.2013 23:46:35

Согласен, было-бы круто увидеть рабочий класс ооп для обработки ошибок в крупных приложениях, полезная штука эта обработка...

Ответить

shamil shamil 30.04.2013 19:03:09

вот я встроил этот код и посыпались ошибки на е-майл.хотя все и работает,правда регистрация на телефон не приходит.вот вопрос,как их исправлять ?В основном на сессии $_SESSION ,воощето только на них Undefined index: error_login (8)

Ответить

Admin Admin 30.04.2013 20:13:10

Данное замечание означает, что Вы обращаетесь к индексу в сессии, который не существует. Прежде чем обращаться, нужно проверить его на существование с помощью isset().

Ответить

shamil shamil 30.04.2013 22:31:23

с этим кодом я наверное неправильно проверяю,как с ним проверять?яж его в functions.php разместил как нуб.его наверно просто запускать надо?

Ответить

Admin Admin 01.05.2013 10:48:28

Данный код без вызовов будет присылать только синтаксические ошибки, которые PHP будет сам указывать. А чтобы он присылал те ошибки, которые PHP сам не напишет, вот тогда нужно и вызывать через trigger_error.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.