Annotation of embedaddon/php/tests/classes/destructor_and_exceptions.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ZE2 catch exception thrown in destructor
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class FailClass
        !             7: {
        !             8:        public $fatal;
        !             9: 
        !            10:        function __destruct()
        !            11:        {
        !            12:                echo __METHOD__ . "\n";
        !            13:                throw new exception("FailClass");
        !            14:                echo "Done: " . __METHOD__ . "\n";
        !            15:        }
        !            16: }
        !            17: 
        !            18: try
        !            19: {
        !            20:        $a = new FailClass;
        !            21:        unset($a);
        !            22: }
        !            23: catch(Exception $e)
        !            24: {
        !            25:        echo "Caught: " . $e->getMessage() . "\n";
        !            26: }
        !            27: 
        !            28: class FatalException extends Exception
        !            29: {
        !            30:        function __construct($what)
        !            31:        {
        !            32:                echo __METHOD__ . "\n";
        !            33:                $o = new FailClass;
        !            34:                unset($o);
        !            35:                echo "Done: " . __METHOD__ . "\n";
        !            36:        }
        !            37: }
        !            38: 
        !            39: try
        !            40: {
        !            41:        throw new FatalException("Damn");
        !            42: }
        !            43: catch(Exception $e)
        !            44: {
        !            45:        echo "Caught Exception: " . $e->getMessage() . "\n";
        !            46: }
        !            47: catch(FatalException $e)
        !            48: {
        !            49:        echo "Caught FatalException: " . $e->getMessage() . "\n";
        !            50: }
        !            51: 
        !            52: ?>
        !            53: ===DONE===
        !            54: --EXPECTF--
        !            55: FailClass::__destruct
        !            56: Caught: FailClass
        !            57: FatalException::__construct
        !            58: FailClass::__destruct
        !            59: Caught Exception: FailClass
        !            60: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>