Это зависит от вида ошибки. Я считаю это фатальной ошибкой, если класс не может быть загружен. Таким образом, я бы выбросил исключение, например
class My_Autoloader_Exception extends Exception {}
Вы обнаружите, что ZF использует множество пользовательских исключений на уровне пакета, а также предоставляет класс , для которого он расширяется (хотя я считаю это необязательным).
Кстати, есть пример использования Zend_Exception
с их автозагрузчиком:
try {
// Calling Zend_Loader::loadClass() with a non-existant class will cause
// an exception to be thrown in Zend_Loader:
Zend_Loader::loadClass('nonexistantclass');
} catch (Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "\n";
echo "Message: " . $e->getMessage() . "\n";
// Other code to recover from the error
}