3v4l.org

run code in 300+ PHP versions simultaneously
<?php class CustomException extends Exception { public $object; public function __construct(string $msg, SomeClass $object) { $this->object = $object; parent::__construct($msg); } } class SomeClass { public function __construct() { throw new CustomException("Invalid parameters!", $this); } } try { $a = new SomeClass(); } catch (CustomException $e) { $a = $e->object; } var_dump($a);
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.26, 8.3.0 - 8.3.14, 8.4.1
object(SomeClass)#1 (0) { }

preferences:
88.5 ms | 406 KiB | 5 Q