Heim  >  Artikel  >  Backend-Entwicklung  >  php析构函数疑惑

php析构函数疑惑

WBOY
WBOYOriginal
2016-06-23 13:24:211068Durchsuche

<?phpclass Test {    public $start;    public $end;        public function __construct() {        echo "__construct<br />";        $this->start = microtime(true);    }        public function test() {        echo "in test()<br />";        throw new Exception("error", 500); // 抛出异常     }        public function __destruct() {        echo "__destruct<br />";    }}$test = new Test();$test->test();

方法里抛出异常后,不会调用析构函数:


try异常后能调用析构函数:

<?phpclass Test {    public $start;    public $end;        public function __construct() {        echo "__construct<br />";        $this->start = microtime(true);    }        public function test() {        echo "in test()<br />";        try { // try 异常            throw new Exception("error", 500); // 抛出异常         } catch(Exception $e) {        }    }        public function __destruct() {        echo "__destruct<br />";    }}$test = new Test();$test->test();

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn