mirror of
https://github.com/php/php-src.git
synced 2024-11-27 20:03:40 +08:00
34 lines
613 B
PHP
34 lines
613 B
PHP
--TEST--
|
|
Bug #29368.3 (The destructor is called when an exception is thrown from the constructor).
|
|
--FILE--
|
|
<?php
|
|
class Foo {
|
|
function __construct() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
function __destruct() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
}
|
|
class Bar {
|
|
function __construct() {
|
|
echo __METHOD__ . "\n";
|
|
throw new Exception;
|
|
}
|
|
function __destruct() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
}
|
|
|
|
try {
|
|
new Foo() + new Bar();
|
|
} catch(Exception $exc) {
|
|
echo "Caught exception!\n";
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
Foo::__construct
|
|
Bar::__construct
|
|
Foo::__destruct
|
|
Caught exception!
|