魏长东

weichangdong

php捕捉错误,不让程序断掉

有时候遇到代码有一些异常,但是不想他退出执行,就用try catch的形式来捕捉。

 

今天高考,送个祝福

gaokao-11.jpg

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero'.PHP_EOL);
    }
    return 1/$x;
}

set_exception_handler('exception_handler');
try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
    echo inverse(4) . "\n";
} catch(\Exception $e){
	echo  $e->getMessage();
}
function exception_handler($e)
{
	echo  'wcd=='.$e->getMessage();
}

for ($i=-3;$i<10;$i++){
	try {
		echo  inverse($i)."\n";
	} catch (\Exception $e) {
		 echo  $e->getMessage()."\n";	
		continue;
	}
}
// Continue execution
//echo inverse(0) . "\n"; 如果加上这句 就走set_exception_handler 指定的捕捉机制了 就会断掉 就不会输出最后的 hell world
echo "Hello World\n";
?>