
Sehr geehrte Besucher, wir mochten gern, dass dieses Forum weiterhin ein hohes Niveau besitzt. Ausserdem mochten wir gerne vermeiden, dass Fragen immer doppelt vorkommen. Deshalb appellieren wir auf Ihre Geduld und bitten Sie zuerst nach Antworten zu suchen und erst dann Fragen zu stellen. Benutzen Sie bitte dafur entweder das Sucheformular unten, oder unsere Suchmaschine, wenn Sie nach Befehlen, oder sonstigen Inhalten fundig werden mochten. Zum Forum | Seite 0 |  __construct | smoof | 22.05.2010 | 12:15:03 |  bah | ich | 22.05.2010 | 16:16:35 |  [Kein Betreff] | smoof | 22.05.2010 | 21:57:56 |  __construct | Günni | 24.05.2010 | 23:21:18 |  Mach Dich mit Exceptions vertraut | Jens | 27.05.2010 | 21:57:36 |  Danke.. | smoof | 31.05.2010 | 09:05:28 | Exceptions sind da das geeignete Mittel zur Abhilfe. Mit ihnen ist es möglich, auch die Zuweisung zu verhindern.
Beispiel:
<?php
class Foo
{
protected $payload=null;
public function __construct($param)
{
if(!is_bool($param))
throw new InvalidArgumentException('$param must be of type boolean!');
if(true!==$param)
throw new DomainException('$param must be true!');
$this->payload=$param;
if(/* irgendwas anderes */)
throw new Exception('Now something else seems to be wrong');
}
public function getPayload()
{
return $this->payload;
}
}
try
{
$x=new Foo(1);
// wird nur ausgeführt, wenn das Objekt erfolgreich erstellt wurde:
echo $x->getPayload();
}catch(InvalidArgumentException $e)
{
// wird nur ausgeführt, falls $param nicht vom Typ Boolean war
var_dump(1,$);
}catch(DomainException $e)
{
// wird nur ausgeführt, falls $param nicht true war
var_dump(2,$e);
}catch(Exception $e)
{
// wird nur ausgeführt, falls "irgendwas anderes" eingetreten ist
var_dump(3,$e);
}
?>
Gruß Jens
| Antworten | Zurück | Eine neue Frage stellen | der Beitrag muss weg! |
|
|
|
|
|