Ошибки могут возникать в любой программе, особенно когда речь идет о взаимодействии между отдельными сетевыми машинами. Система JPSpan обладает средствами перехвата нефатальных ошибок, возникающих на стороне сервера, и способна возбуждать исключительные ситуации на стороне клиента. Серверный сценарий содержит следующую строку:
require_once JPSPAN . 'ErrorHandler.php';
Сценарий ErrorHandler.php - это универсальный обработчик способный отправлять соответствующие сообщения клиенту, что сильно облегчить обработку ошибок, вызванных как самим РНР, так и системой JPSpan.
Обработчик имеет два конфигурационных параметра. Первый из определяет необходимость доставки сообщений об ошибках, по; денных интерпретатором РНР, но не JPSpan:
if (!defined('JPSPAN ERROR MESSAGES') ) {
define ('JPSPAN_ERROR_MESSAGES', TRUE);
>
Если константа JPSPAN_ERROR_MESSAGES определена со значением как показано выше, то ошибки РНР будут отображаться как п сообщение «Server unable to respond* (Нет ответа от сервера). Ош порожденные системой JPSpan, будут содержать подробное опи в свойствах message, code и name объекта error. Если константа on
на со значением FALSE, то подробная информация об ошибках будет поставляться независимо от источника ее происхождения.
Второй конфигурационный параметр определяет степень детальности сведений об ошибках, поставляемых клиенту:
if (! defined('JPSPAN_ERROR_DEBUG') ) {
define"'(' JPSPAN_ERROR_DEBUG', FALSE);
>
Если константа JPSPAN_ERROR_DEBUG определена со значением TRUE, то в объекте error появляются два дополнительных свойства: file и line. Эти свойства будут содержать, соответственно, имя файла сценария РНР и номер строки в файле, в которых возникла ошибка. Эта информация может быть использована злоумышленником при атаке на сервер, поэтому по умолчанию константа определена со значением FALSE. Однако в процессе разработки приложения рекомендуется устанавливать значение TRUE.