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

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

Чтобы посетитель мог быстро исправить допущенные ошибки, от него требуется не только внимание и терпение. В ответ на некорректный ввод данных сайт должен выдать понятное сообщение. Обычно обработку ошибок возлагают на программистов. Им говорят: «Напишите нужный код», но не объясняют, как лучше это сделать. Получив такую сухую инструкцию, разработчик выполнит ее, как может: точно, аккуратно и с минимальными усилиями. В результате сообщение об ошибке, которое появится перед пользователем, может быть совершенно ему непонятным.

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

Ошибки при вводе бывают двух видов:

1. пропущено поле, обязательное для заполнения;

2. тип или формат данных не соответствуют требованиям.

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

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

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

У каждого программиста есть свои излюбленные методы обработки ошибок, но в целом их можно разделить на две группы: обработка ошибок на стороне клиента и обработка ошибок на стороне сервера. Другими словами, данные проверяются на ошибки либо до отправки формы на сервер, либо после. Какой вариант подойдет вам лучше всего?

На первый взгляд, между ними нет особой разницы, однако программисты яростно спорят по этому вопросу уже несколько лет. Проверка ошибок на стороне клиента производится быстрее (еще говорят, что веб– приложение в данном случае ничем не отличается от обычной программы на компьютере пользователя). Однако для нее требуется создавать сценарий на JavaScript, а будет ли этот сценарий выполняться, зависит от версии браузера и от самого компьютера, что, несомненно, является большим ограничением.

Обработка ошибок на стороне сервера дает больше возможностей, здесь не возникает никаких проблем совместимости. Однако при этом данные совершают несколько кругов от компьютера пользователя к серверу и обратно. К тому же, проверить форму на ошибки можно только после нажатия кнопки «Отправить».

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Пример: обработка ошибок

Из книги автора

Пример: обработка ошибок В программе 1.2 было продемонстрировано использование лишь самых примитивных средств обработки ошибок, а именно, получение номера ошибки в переменной типа DWORD с помощью функции GetLastError. Вызов функции, а не просто получение глобального номера


Пример: обработка ошибок как исключений

Из книги автора

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


26.4. Обработка ошибок

Из книги автора

26.4. Обработка ошибок Каждая из функций popt, которая может возвращать ошибки, возвращает целочисленные значения. В случае возникновения ошибки возвращается отрицательный код. В табл. 26.2 перечислены коды возможных ошибок. После таблицы дается подробное обсуждение каждой


Отслеживание и обработка ошибок

Из книги автора

Отслеживание и обработка ошибок PHP имеет следующие типы ошибок и предупреждений:Указанные значения в виде чисел или констант можно комбинировать, формируя битовую маску ошибок, о которых необходимо сообщать в ходе исполнения сценария. Для комбинирования используются


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

Из книги автора

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


1.4. Обработка ошибок: функции-обертки

Из книги автора

1.4. Обработка ошибок: функции-обертки В любой реальной программе существенным моментом является проверка каждого вызова функции на предмет возвращаемой ошибки. В листинге 1.1 мы проводим поиск ошибок в вызовах функций socket, inet_pton, connect, read и fputs, и когда ошибка случается, мы


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

Из книги автора

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


1.6. Обработка ошибок: функции-обертки

Из книги автора

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


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

Из книги автора

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


Обработка ошибок и исключения

Из книги автора

Обработка ошибок и исключения Обработка ошибок — сложная задача, при решении которой программисту требуется вся помощь, которая только может быть предоставлена. — Бьярн Страуструп (Bjarne Stroustrup), [Stroustrup94] §16.2 Имеется три способа написать программу без ошибок; но работает


ГЛАВА 32. Обработка ошибок и события.

Из книги автора

ГЛАВА 32. Обработка ошибок и события. В этой главе мы рассмотрим, как при выполнении модулей PSQL - триггеров и процедур - можно перехватывать и обрабатывать ошибки в выполняемом коде.Стандартным поведением модулей PSQL при появлении исключений является остановка выполнения,


3.1.4 Обработка ошибок

Из книги автора

3.1.4 Обработка ошибок Поскольку программа так проста, обработка ошибок не сотавляет большого труда. Функция обработки ошибок просто счтает ошибки, пишет сообщение об ошибке и возвращает управлние обратно:int no_of_errors;double error(char* s) (* cerr «„ "error: " «« s «« « “; no_of_errors++; return 1;


7.3.4 Обработка Ошибок

Из книги автора

7.3.4 Обработка Ошибок Есть четыре подхода к проблеме, что же делать, когда во время выполнения универсальное средство вроде slist сталкивется с ошибкой (в С++ нет никаких специальных средств языка для обработки ошибок):1. Возвращать недопустимое значение и позволить