PDA

Просмотр полной версии : PHP: Как сделать custom error message?


Psionic Vision
12.05.2004, 15:08
Допустим, я пишу

include(file.inc);

Запускаю скрипт, файл не найден, выдается ошибка.
Ошибка смертному юзеру непонятная, поэтому я эту ошибку скрываю:

@include(file.inc);

А можно ли сделать так, чтобы, допустим, в таких случаях было написано "Файл временно недоступен"? Спасибо.

Saruman
12.05.2004, 15:14
Neo
Перехватываешь обработку ошибок с помощью set_error_handler и пишешь все, что хочешь. Смотри доку по этой функции, там есть примеры и т.п.

Psionic Vision
12.05.2004, 15:30
PHP.NET:
The first parameter, errno, contains the level of the error raised, as an integer.

В каком уровне "level" находится ошибка о том, что файл не найден?

RaZEr
12.05.2004, 15:34
echo $errno;

Psionic Vision
12.05.2004, 15:39
Razer, я прочитал то что ты стер... По каким ключевым словам предполагается поиск?


Что такое $errno?

RaZEr
12.05.2004, 15:43
Razer, я прочитал то что ты стер... По каким ключевым словам предполагается поиск?Я стер потому что не нашел сам. Но я 100% уверен что постил пример. Даже не на 100%, а на все 200%. Почему он не находится мне неизвестно. Но это уже не первый случай, когда не найти существующие темы. В админ. форуме обсуждались эти проблемы.
Что такое $errno?Параметр твоей ф-ии/метода. Конечно он может называться иначе, но в мане именно такой пример. Числовое значение уровня ошибки. Спровоцируй нужную ошибку и error handler выведет ее уровень.

Saruman
12.05.2004, 15:44
Neo
Напиши пустую функцию обработки с эхом, генерируй ошибки и смотри, какие уровни появляются.
А вообще, include должен давать E_WARNING, а require - E_ERROR

Hubbitus
12.05.2004, 16:54
Дак а почему бы не поступить проще?
Например так:
@include('') or die ('Файл не найден');

Psionic Vision
12.05.2004, 22:29
Hubbitus,
это не работает.

Hubbitus
12.05.2004, 23:10
Точно, пардон, перед тем как постить проверил только на поведение при отсутствии файла :p , но чтобы работало достаточно только скобки еще поставить:
(@include('ince.php')) or die ('Файл не найден');