phpbar.de logo

Mailinglisten-Archive

[php] keine Exceptions in __autoload() ?

[php] keine Exceptions in __autoload() ?

Andreas Demmer php at andreas-demmer.de
Mit Aug 25 10:39:49 CEST 2004


Hallo,

ich prüfe in der __autoload() Funktion ob eine Klassendatei
existiert bevor ich diese versuche zu inkludieren und werfe
eine standardmäßige Exception wenn dem nicht so ist:

function __autoload($className) {
   $file = PATH_INCLUDES.'class_'.strtolower($className).'.inc.php';

   if(file_exists($file)) {
       require_once($file);
   } else {
       throw new Exception("__autoload konnte Klasse '$className' nicht
dynamisch nachladen: '$file' nicht gefunden");
   }
}

Die Exception wird auch einwandfrei geworfen, nur erhalte ich
folgende Fehlermeldung, obwohl die Exception im try Scope ge-
worfen wird und ein passender catch Block existiert:

Fatal error:  __autoload(databaseObjectException) threw an exception
of type 'Exception' in modify_dataset.php on line 25

Läuft __autoload ausserhalb des try Scopes weil es eine Inter-
cepter-Funktion ist oder habe ich etwas anderes nicht bedacht?
Ich finde nirgends eine solche Einschränkung beschrieben, habe
ich evt. einen Bug entdeckt?

Gruss,
Andreas

--
http://www.andreas-demmer.de



php::bar PHP Wiki   -   Listenarchive