Не работают исключения.

Статус
В этой теме нельзя размещать новые ответы.

Rubin

Новичок
Не работают исключения.

На серваке не работают исключения. Кто подскажет как их включить?
К серваку доступ полный (видать админ что-то отключил), на локалке при стандартном инсталле апача + пхп 5 все нормально работает.
 

Bakti9rov

!*|=?
throw new Exception(string message, int code); - должен работать.

Класс Exception (и вообще весь механизм исключений) встроен в ПХП, так что либо провайдер перекомпилил сорсы :D, либо как есть так и оставил пых "четверку".
 

Rubin

Новичок
phpinfo() однозначно говорит: PHP Version 5.2.1

сейчас код пришлю ... попроще...

-~{}~ 24.07.07 14:24:

<?php
echo "start";

try
{
throw new Exception("Error");
}
catch(Exception $e)
{
echo "EXCEPTION !!!";
}

echo "end";

?>

Покажет только start

-~{}~ 24.07.07 14:27:

На локалке показывет: startEXCEPTION !!!end ... что и должно быть.
Я так понимаю вместо исключения пхп просто прерывает исполнение скрипта
 

Rubin

Новичок
х.з. .... я вообще понять не могу как такое может быть ....
Может кто причины хоть намекнет....
php.ini весь прошелся, вроде ничего вообще про исключения нету, тем более вкл/выкл....
 

Rubin

Новичок
и посложнее пытался, но и этот не работает.
Этот код я и на серваке и на локалке проверял.... на локалке все ок, на серваке фиг...

-~{}~ 24.07.07 15:21:

просто этот код я для проверки набросал (называется: проще некуда) ... и офигел, когда и он отказался работать...
 

tony2001

TeaM PHPClub
display_errors = On
хватит уже повторять "ах как я удивлён", мы все поняли.
 

Bakti9rov

!*|=?
А может все таки выводит какие то ошибки - они же должны выскакивать? Если не поддерживается try-catch-throw вообще... Rubin, попробуйте изменить приоритет вывода ошибок через error_reporting(E_ALL); мож что то вылезет.
 

Rubin

Новичок
error_reporting(E_ALL); ничего не показывало

спасибо что подсказали ini_set(display_errors, "on");
Получаем:
Fatal error: Uncaught exception 'Exception' with message 'Error' in (адрес)/1.php:11 Stack trace: #0 {main} thrown in

-~{}~ 24.07.07 16:12:

Я так понимаю он не видит встроенного класса Exception...
 

tony2001

TeaM PHPClub
>Я так понимаю он не видит встроенного класса Exception...
ты неправильно понимаешь.

этот код:
PHP:
try {
   throw new Exception("Error");
} catch(Exception $e) {
   echo "EXCEPTION !!!";
}
в принципе не может выводить "Uncaught exception", хватит голову морочить.
 

Wicked

Новичок
щас окажется, что "ой, я не тот файл запускал", "ой, я файл сохранить забыл", "ой, не на том сервере тестирую", ...
 

aky

Новичок
Интересно... прям скажу в шоке.
Смотрю на свои два файла - один находится на одном сервере, другой на другом в обоих следующий код:
PHP:
<?
try{
	throw new Exception();
}catch(Exception $e){
	print_r($e);
}
?>
и думаю почему на одном
Корректный print_r объекта исключения
а на другом
PHP:
Fatal error: 
Uncaught exception 'Exception' in /www/htdocs/core/developer/exception.php:4 Stack trace: #0 {main} 
thrown in /www/htdocs/core/developer/exception.php on line 4
До этого был баг... после некоторого разбора стало ясно, что дело в этой "вычлененой" проблеме.
Файлы, собственно, запускаю те, о которых говорю.
PHP Version 5.2.3 на обоих серверах одинаковый
на одном Fedora 7 - это где не работает
на другом Fedora 4 - это где работает
Господа какие есть варианты? помогите....
Так как, пример, считай copy/paste из мана, не знаю что и думать.
 

Pigmeich

Новичок
Доступ к конфигурации PHP на сервере есть?

Там точно не стоит кастомной обработки ошибок? А то вдруг.
 

aky

Новичок
доступ есть. Как проверить заменена ли стандартная обработка ошибок или нет?

set_exception_handler точно не вызывалась, в файле с ошибкой только приведённые строчки больше ничего.

-~{}~ 26.01.08 14:33:

Конфигурация двух php кроме OS отличаются одним ключом в сборке
--with-mcrypt=/usr/lib' но это никак не может иметь отношения к исключениям имхо

Такой же вопрос задал здесь http://xpoint.ru/forums/thread/42059.xhtml
 

Фанат

oncle terrible
Команда форума
Но людей корторые, смогли бы адекватно помочь не нашлось.
вот ведь сука

-~{}~ 26.01.08 14:58:

кто такой этот aky, и какое отношение он имеет к первоначальному вопросу?
 

aky

Новичок
Вот что я называю не адекватным ответом:
в принципе не может выводить "Uncaught exception", хватит голову морочить.
щас окажется, что "ой, я не тот файл запускал", "ой, я файл сохранить забыл", "ой, не на том сервере тестирую", ...
-~{}~ 26.01.08 15:00:

Первоначально вопрос был задан не мной. Просто возникала такая же проблема
 

Фанат

oncle terrible
Команда форума
И что - это повод бежать жаловаться в другой форум?

-~{}~ 26.01.08 15:08:

ты, кондом, эти "неадекватные ответы" получил либо до того, как написал вопрос, либо после того, как начирикал кляузу.
 

berkut

Новичок
PHP:
try{ 
    throw new Exception(); 
    exit;
}catch(Exception $e){ 
    print_r($e); 
}
гонево какое-то.. exit не должен отрабатывать.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху