catch_003.phpt 442 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. ===DONE===
  31. --EXPECT--
  32. Caught
  33. ===DONE===