igortik
Новичок
Столкнулся с забавной ситуацией:
- есть зарегистрированный метод автозагрузчика:
в нем строка кода:
Ловит исключения Bootstrap.php:
Теперь самое главное - пытаемся создать ситуацию для исключения, пишем в пределах try { } Bootstrap.php такой вот код:
, теперь ясно, что, если класс не объявлен, то ситуация успешно контролируется автозагрузчиком, но там, почему-то, при успешном throw отдается не
, как задумано, а банальная ошибка
Для уверенности ставил уже конструкцию die() до выброса исключения, работает, т.е. я не ошибаюсь с прохождением проверки на выброс исключения, но как только дело доходит до throw, то выдется классический Fatal Error, вместо моего текста.
Что еще удивительно, если инициируем ошибку не так
, а, например, так:
, то исключение успешно проходит.
PHP: 5.3.2.
- есть зарегистрированный метод автозагрузчика:
PHP:
spl_autoload_register(array(__CLASS__, 'autoload'));
PHP:
if($count < 2){
throw new Exception('Wrong Class or Interface name: '.$fileName);
}
PHP:
try{
...
}
catch (Exception $exception) {
echo $exception->getMessage(), "\n";
}
PHP:
NoneExistableClass::getInstance();
PHP:
'Wrong Class or Interface name: '.$fileName
PHP:
Fatal error: Class 'NoneExistableClass' not found in ...
Что еще удивительно, если инициируем ошибку не так
PHP:
NoneExistableClass::getInstance();
PHP:
$a = new NoneExistableClass();
PHP: 5.3.2.