Ola,

Ik was even met iemand anders op het forum in gesprek over exceptions. Nu vertelde hij dat hij een functie file_exists gebruikt die niet true of false teruggeeft, maar een Exception gooit als het bestand niet bestaat. Zoiets als dit:

<?php
public function file_exists($file) {
if (!file_exists($file)) throw new Exception('File ' . $file . ' does not exist.');
}
?>

Van de ene kant is het wel handig, want je kunt dan zoiets doen:

<?php
try {
$this->filesystem->file_exists('foo.php');
} catch (FilesystemException $e) {
// file bestaat niet, onderneem actie
}
?>
Nu vraag ik me af of jullie ook exceptions op deze manier gebruiken. Zelf ben ik gewend om gewoon een true of false te returnen. Ik ben benieuwd of er meer mensen zijn die exceptions gebruiken in plaats van true of false te returnen.
Wouter, dankjewel voor het meedenken. Laten we dan bijvoorbeeld het inladen van een cache-bestand nemen. Mijn functie geeft nu OF de data terug, OF hij geeft null terug als het cachebestand niet bestaat.

In mijn code doe ik dan dit:

<?php

if (is_null($foo = $cacher->load('foo')) {
// foo bestaat niet, dus we gaan foo inladen
}

?>

Dit zou je dus ook met exceptions kunnen doen:

<?php

try {
$foo = $cacher->load('foo');
} catch (CacherException $e) {
// foo bestaat niet, dus we gaan foo inladen
}

?>
Heeft een van beide manieren jouw voorkeur (zo ja waarom), of maakt het jou niet uit?
zucht.. heb je mijn voorbeeldje bekeken?
>> zucht.. heb je mijn voorbeeldje bekeken?

Ja? Zo kwam ik bij het cacher voorbeeld.
Nou, dan zag je ook dat jouw 2e voorbeeldje exact in mijn code staat :)
Ja, klopt :)

Wat ik alleen niet weet is of dit gewoon zomaar een voorbeeldje voor mij was, of dat het ook echt jouw eigen voorkeur is en je het zelf ook op deze manier doet?
ik doe het zelf ook zo
allright, thanks ;)

Reageren