phpdestructorcalls
class a{ function construct(){ echo "start to construct a obj\n"; } function pide($a,$b) { //exit(1);//destruct called return $a/$b; //destruct called when $b=0; } function add($a,$b) { throw new Exception ("daone");//destruct called return $a+$b; } function destruct(){ echo "start to destruct\n"; } } try{ $first = new a(); //$r = $first->pide(4,0); $first->add(4,0); } catch(Exception $e) { echo "cath exception \n"; }
上記の例からわかるように、phpが例外をスローし(外部にtry catchがあるかどうかに関係なく)、直接exitsすると、destructorが呼び出されます。
以上がphp: デストラクター呼び出しのサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。