IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Для профессионалов (http://www.imho.ws/forumdisplay.php?f=91)
-   -   PHP: Как сделать custom error message? (http://www.imho.ws/showthread.php?t=58494)

Psionic Vision 12.05.2004 15:08

PHP: Как сделать custom error message?
 
Допустим, я пишу

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 ('Файл не найден');


Часовой пояс GMT +4, время: 04:43.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.