1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
--TEST--
Exception handling in ReflectionAttribute::newInstance()
--FILE--
<?php
#[\Attribute]
class A {
public function __construct() {
throw new \Exception('Test');
}
}
class Foo {
#[A]
public function bar() {}
}
$rm = new ReflectionMethod(Foo::class, "bar");
$attribute = $rm->getAttributes()[0];
var_dump($attribute->newInstance());
?>
--EXPECTF--
Fatal error: Uncaught Exception: Test in %s:6
Stack trace:
#0 %sReflectionAttribute_newInstance_exception.php(11): A->__construct()
#1 %sReflectionAttribute_newInstance_exception.php(18): ReflectionAttribute->newInstance()
#2 {main}
thrown in %sReflectionAttribute_newInstance_exception.php on line 6
|