<?php class 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异常后能调用析构函数:
<?php class 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();
时间: 2024-10-06 17:19:25