xref: /PHP-8.0/Zend/tests/try/catch_004.phpt (revision f8d79582)
1--TEST--
2Catching an exception in a constructor inside a static method
3--FILE--
4<?php
5
6class MyObject
7{
8    function fail()
9    {
10        throw new Exception();
11    }
12
13    function __construct()
14    {
15        self::fail();
16        echo __METHOD__ . "() Must not be reached\n";
17    }
18
19    function __destruct()
20    {
21        echo __METHOD__ . "() Must not be called\n";
22    }
23
24    static function test()
25    {
26        try
27        {
28            new MyObject();
29        }
30        catch(Exception $e)
31        {
32            echo "Caught\n";
33        }
34    }
35}
36
37MyObject::test();
38
39?>
40--EXPECT--
41Caught
42