Просмотр полной версии : PHP: Как сделать custom error message?
Psionic Vision
12.05.2004, 15:08
Допустим, я пишу
include(file.inc);
Запускаю скрипт, файл не найден, выдается ошибка.
Ошибка смертному юзеру непонятная, поэтому я эту ошибку скрываю:
@include(file.inc);
А можно ли сделать так, чтобы, допустим, в таких случаях было написано "Файл временно недоступен"? Спасибо.
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" находится ошибка о том, что файл не найден?
Psionic Vision
12.05.2004, 15:39
Razer, я прочитал то что ты стер... По каким ключевым словам предполагается поиск?
Что такое $errno?
Razer, я прочитал то что ты стер... По каким ключевым словам предполагается поиск?Я стер потому что не нашел сам. Но я 100% уверен что постил пример. Даже не на 100%, а на все 200%. Почему он не находится мне неизвестно. Но это уже не первый случай, когда не найти существующие темы. В админ. форуме обсуждались эти проблемы.
Что такое $errno?Параметр твоей ф-ии/метода. Конечно он может называться иначе, но в мане именно такой пример. Числовое значение уровня ошибки. Спровоцируй нужную ошибку и error handler выведет ее уровень.
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 ('Файл не найден');
vBulletin® v3.8.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.