nautiLus`
Erfahrenes Mitglied
Hallo, ich habe eine Frage zu PHP5 Exceptions:
laut
wird mir folgendes ausgegeben:
Das heißt die Exception Klasse hat eine __clone() Methode...
Jetzt versuche ich ein Exception Objekt zu klonen:
aber bekomme einen Fehler:
Kann es sein, dass diese integrierte Methode dafür angelegt wurde, dass diese dafür zuständig ist Kopien zu unterbinden? Wenn nein, wie lege ich dann eine Kopie mittels clone() an?
Danke, Nauti
laut
Code:
Reflection::export(new ReflectionClass('Exception'));
Code:
Class [ <internal> class Exception ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [6] {
Property [ <default> protected $message ]
Property [ <default> private $string ]
Property [ <default> protected $code ]
Property [ <default> protected $file ]
Property [ <default> protected $line ]
Property [ <default> private $trace ]
}
- Methods [9] {
Method [ <internal> final private method __clone ] {
}
Method [ <internal> <ctor> <visibility error> method __construct ] {
- Parameters [2] {
Parameter #0 [ <required> $message ]
Parameter #1 [ <required> $code ]
}
}
Method [ <internal> final public method getMessage ] {
}
Method [ <internal> final public method getCode ] {
}
Method [ <internal> final public method getFile ] {
}
Method [ <internal> final public method getLine ] {
}
Method [ <internal> final public method getTrace ] {
}
Method [ <internal> final public method getTraceAsString ] {
}
Method [ <internal> public method __toString ] {
}
}
}
Das heißt die Exception Klasse hat eine __clone() Methode...
Jetzt versuche ich ein Exception Objekt zu klonen:
Code:
try {
throw new Exception("Fehler");
} catch(Exception $e) {
echo $e->getMessage();
$a = clone $e;
}
aber bekomme einen Fehler:
Code:
Fatal error: Trying to clone an uncloneable object of class Exception in ...
Kann es sein, dass diese integrierte Methode dafür angelegt wurde, dass diese dafür zuständig ist Kopien zu unterbinden? Wenn nein, wie lege ich dann eine Kopie mittels clone() an?
Danke, Nauti