Темы

Блоги

Почему неправиьлно использовать "@" в коде PHP? Пятница 02 Апрель 2010 10:07:31

Оператор @ предназначен для подавления вывода сообщения об ошибке. Поэтому это одна из основных ошибок при программировании скриптов.

Применив данный оператор вы не сможете отследить ошибку на стадии разработки. Как следствие это может привести к многочасовому поиску ошибки.

Самый простой пример: Предположим мы открываем файл при помощи такой конструкции $f = @fopen( “need_file.txt” , “w+” );

В этом случае могут возникнуть ошибки, например, 1) нет прав доступа к файлу, 2) файл не существует, 3) fopen не может быть вызвана в безопасном режиме. И это еще не все возможные варианты. Будем тыкать иголкой в стоге сена?

Поэтому я не советую использовать опрератор @.

Что же можно сделать?

Очень просто в php есть функции для проверки существования файла, проверки можно ли записать в данный файл и тд.

В других случаях, например при использовании mysql_connect(); надо проверять значение, которое вернет функция. Как правило, по нему можно определить, есть ошибка или нет. Обычно при ошибке возвращается значение FALSE, NULL или пустая строка.

Правильно обработав ошибку ву смодете адекватно ответить пользователю.

На случай совсем непредвиденной ошибки нужно создать функции обработки ошибок и искльчений, после чего применить функции set_error_handler и set_exception_handler. Так вы сможете обработать любую ошибку.

«Ловля» ошибок является также очень важным аспектом безопасности при работе скрипта.

Теги:

Комментарии

  • Хм... Нет комментариев... Но вы пожете исправить это!

Написать комментарий

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

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно