@ 2017-07-07T07:01:23Z <?php
class PreviousException extends \Exception {}
class One extends \RuntimeException {
// Just a standard exception
}
class Two extends \RuntimeException{
// An exception with custom constructor parameters
public function __construct($customMessage, PreviousException $e) {
parent::__construct($customMessage . "LOL", $e->getCode(), $e);
}
}
try {
throw new Two('Throwing two, but catch will receive a different class type', new PreviousException());
}
catch (\Exception $e) {
var_dump($e);
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.4 , 8.3.6 object(Two)#1 (7) {
["message":protected]=>
string(62) "Throwing two, but catch will receive a different class typeLOL"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/nMavM"
["line":protected]=>
int(19)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
object(PreviousException)#2 (7) {
["message":protected]=>
string(0) ""
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/nMavM"
["line":protected]=>
int(19)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
NULL
}
}
Output for 8.3.5 Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
object(Two)#1 (7) {
["message":protected]=>
string(62) "Throwing two, but catch will receive a different class typeLOL"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/nMavM"
["line":protected]=>
int(19)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
object(PreviousException)#2 (7) {
["message":protected]=>
string(0) ""
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/nMavM"
["line":protected]=>
int(19)
["trace":"Exception":private]=>
array(0) {
}
["previous":"Exception":private]=>
NULL
}
}
preferences:dark mode live preview
213.82 ms | 403 KiB | 288 Q