Hallo,

Ik zit even met het volgende. Stel dat ik alle PHP fouten opvang in een eigen error_handler functie en vervolgens gooi ik dan zo'n fout als exception.

Stel nu dat we een filesystem class hebben en die wil ik een directory laten maken vanuit class foo:

<?php

class Foo {

public function foo() {
try {
$this->filesystem->makeDirectory('foo');
} catch(FileSystemException $e) {
// aanmaken directory mislukt
}
}

}

class FileSystem {

public function makeDirectory($dir) {
if (!mkdir($dir)) throw new Excpetion('directory aanmaken mislukt');
}

}

?>
Nu is mijn vraag... stel dat het aanmaken van directory mislukt, dan zal mkdir() een warning geven. Die wordt dan doorgegeven aan de error_handler op een hoger niveau. Die zal dan een Exception triggeren, maar die exception zal ik niet kunnen opvangen in class Foo omdat ik daar bewust de FileSystemException opvang. Of zou het zo zijn dat vanuit de FileSystem class eerst de Exception wordt gegooid in plaats van dat een warning wordt gegeven door mkdir() ?

Reageren