2004-10-02 14:13:35 +00:00
|
|
|
--TEST--
|
|
|
|
Bug #29368 (The destructor is called when an exception is thrown from the constructor)
|
|
|
|
--FILE--
|
2005-06-17 16:40:05 +00:00
|
|
|
<?php
|
2004-10-02 14:13:35 +00:00
|
|
|
|
|
|
|
class Foo
|
|
|
|
{
|
2020-02-03 21:52:20 +00:00
|
|
|
function __construct()
|
|
|
|
{
|
|
|
|
echo __METHOD__ . "\n";
|
|
|
|
throw new Exception;
|
|
|
|
}
|
|
|
|
function __destruct()
|
|
|
|
{
|
|
|
|
echo __METHOD__ . "\n";
|
|
|
|
}
|
2004-10-02 14:13:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
2020-02-03 21:52:20 +00:00
|
|
|
$bar = new Foo;
|
2004-10-02 14:13:35 +00:00
|
|
|
} catch(Exception $exc)
|
|
|
|
{
|
2020-02-03 21:52:20 +00:00
|
|
|
echo "Caught exception!\n";
|
2004-10-02 14:13:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
unset($bar);
|
|
|
|
|
|
|
|
?>
|
2018-02-19 08:59:41 +00:00
|
|
|
--EXPECT--
|
2004-10-02 14:13:35 +00:00
|
|
|
Foo::__construct
|
|
|
|
Caught exception!
|