PHP try…catch…throw语句——捕获并抛出异常,try…catch…throw语句是PHP 5新增加的用于对异常错误进行处理的语句。其中通过try和throw语句抛出异常,而catch语句用于捕获异常。
PHP try…catch…throw语句 语法
try{
throw new Exception(error); //抛出异常
}catch(Exceptione){ //捕获异常
};
在PHP中,进行异常处理的代码都必须放入try代码块内,产生的异常被throw语句抛出,被catch语句捕获。
每一个try至少要有一个与之对应的catch。使用多个catch可以捕获不同的类所产生的异常。当try代码块不再抛出异常或者找不到catch能匹配的抛出异常时,PHP代码就会在跳转到最后一个catch的后面继续执行。当然,PHP允许在catch代码块内再次抛出(throw)异常。
当一个异常抛出时,异常后的代码将不会继续执行,而PHP就会尝试查找第一个能与之匹配的catch。如果一个异常没有被捕获,而又没用使用set_exception_handler()进行相应的处理,那么PHP将会产生一个严重的错误,并且输出Uncaught Exception(未捕获异常)的提示信息。
PHP try…catch…throw语句 示例
本示例应用throw语句抛出一个异常,应用catch语句捕获异常
代码如下:
<?php
try{
a = '极客笔记!';
throw new Exception(a); //抛出异常
//从这里开始,try 代码块内的代码将不会被执行
echo '为了一个共同的目标!';
}catch(Exception e){
echo '捕获异常: ',e->getMessage(), "<br>";
}
//继续执行
echo 'PHP教程!';
?>
本示例的运行结果为: