catch_003.phpt 477 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Catching an exception in a constructor fired form a static method
  3. --FILE--
  4. <?php
  5. class MyObject
  6. {
  7. function fail()
  8. {
  9. throw new Exception();
  10. }
  11. function __construct()
  12. {
  13. self::fail();
  14. echo __METHOD__ . "() Must not be reached\n";
  15. }
  16. function __destruct()
  17. {
  18. echo __METHOD__ . "() Must not be called\n";
  19. }
  20. }
  21. try
  22. {
  23. new MyObject();
  24. }
  25. catch(Exception $e)
  26. {
  27. echo "Caught\n";
  28. }
  29. ?>
  30. --EXPECT--
  31. Caught