php析构函数调用
class a{
function construct(){
echo "start to construct a objn";
}
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 destructn";
}
}
try{
$first = new a();
//$r = $first->pide(4,0);
$first->add(4,0);
}
catch(Exception $e)
{
echo "cath exception n";
}
从上面的例子可以看出,php抛出异常(不管外面有没有try catch),直接退出的情况下,都会调用析构函数。