ホームページ  >  記事  >  バックエンド開発  >  PHPデストラクタに関する疑問

PHPデストラクタに関する疑問

WBOY
WBOYオリジナル
2016-06-23 13:24:211069ブラウズ

<?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();

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。