@ 2017-07-06T12:58:15Z <?php
class AException extends \Exception {}
class T extends \RuntimeException{
public function __construct($message, AException $e) {
parent::__construct($message, $e->getCode(), $e);
}
}
try
{
throw new T("CRAP", new AException);
}
catch (\Exception $e)
{
var_dump($e); // It's not of type AException any more
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.20 , 7.1.0 - 7.1.20 , 7.2.0 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.33 , 8.2.0 - 8.2.29 , 8.3.0 - 8.3.25 , 8.4.1 - 8.4.12 object(T)#1 (7) {
["message":protected]=>
string(4) "CRAP"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/7udll"
["line":protected]=>
int(12)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
object(AException)#2 (7) {
["message":protected]=>
string(0) ""
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/7udll"
["line":protected]=>
int(12)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
NULL
}
}
preferences:dark mode live preview ace vim emacs key bindings
140.78 ms | 410 KiB | 5 Q