OOP mit PHP5 - Einstiegstutorial 2 - Die Daten-Exception
1. Die Abschnitte
- Fehlerbehandlung
- Die Vollpfosten-Exception
- Die Daten-Exception
- Eine Variante
- Typprüfung
- Erläuterungen
2. Der Klassen-Benutzer
... nimmt diesmal direkten Einfluss auf die Ausnahmebehandlung. Dabei geht es um den Fall, dass zwar alle seine Angaben richtig sind, aber trotzdem keine entsprechenden Dateien vorhanden sind. Dazu definieren wir als Erstes eine entsprechende Exception-Klasse in unserer Datei.
class daten_exception extends exception {}
Als nächstes passen wir die Methode startSearch
an, da sie ja das Ergebnis zurückliefert.
public function startSearch ()
{
$this -> doNavigate();
if ($this -> files)
{
return $this -> files;
}
else
{
throw new daten_exception
(
'Es sind keine Daten vorhanden', 0
);
}
}
Erläuterung
Wenn die Eigenschaft $files
nichts enthält, so kommt unsere daten_exception
zum Zuge und
gibt eine der üblichen Meldungen aus. Die Null steht dabei für einen Fehlercode, der vorher intern festgelegt wird.
Jetzt möchte der Nutzer dieser Klasse ein wenig mehr darüber erfahren. Also kann er/sie das so nutzen ...
...
$dir = new Dir;
$dir -> setRoot ($root);
$dir -> denyFolder ($folder);
$dir -> setFiletype ($filetype);
try
{
$result = $dir -> startSearch();
print_r($result);
}
catch (daten_exception $exception)
{
echo 'Code: '.$exception -> getCode().'<br>';
echo 'Fehler: '.$exception -> getMessage().'<br>';
echo 'Datei: '.$exception -> getFile().'<br>';
echo 'Zeile: '.$exception -> getLine().'<br>';
}
... und bekommt dann so eine Meldung zu Gesicht.
Code: 0
Fehler: Es sind keine Daten vorhanden
Datei: /srv/www/htdocs/OOP_Tutorial_2_Loesung/Dir.class.php
Zeile: 51
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt