1--TEST-- 2Bug #29368 (The destructor is called when an exception is thrown from the constructor) 3--FILE-- 4<?php 5 6class Foo 7{ 8 function __construct() 9 { 10 echo __METHOD__ . "\n"; 11 throw new Exception; 12 } 13 function __destruct() 14 { 15 echo __METHOD__ . "\n"; 16 } 17} 18 19try 20{ 21 $bar = new Foo; 22} catch(Exception $exc) 23{ 24 echo "Caught exception!\n"; 25} 26 27unset($bar); 28 29?> 30--EXPECT-- 31Foo::__construct 32Caught exception! 33