ctor_failure.phpt 478 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. ZE2 Do not call destructors if constructor fails
  3. --FILE--
  4. <?php
  5. class Test
  6. {
  7. function __construct($msg) {
  8. echo __METHOD__ . "($msg)\n";
  9. throw new Exception($msg);
  10. }
  11. function __destruct() {
  12. echo __METHOD__ . "\n";
  13. }
  14. }
  15. try
  16. {
  17. $o = new Test('Hello');
  18. unset($o);
  19. }
  20. catch (Exception $e)
  21. {
  22. echo 'Caught ' . get_class($e) . '(' . $e->getMessage() . ")\n";
  23. }
  24. ?>
  25. --EXPECT--
  26. Test::__construct(Hello)
  27. Caught Exception(Hello)