PHP 异常处理
Try, throw 和 catch
try - 将异常函数放在try代码块内,若未触发异常则程序照常执行,若触发了异常则抛出一个异常;
throw - 规定如何触发异常,每个throw 至少对应一个catch;
catch - catch代码块会捕获异常,并创建一个包含异常信息的对象(Exception)
基本使用方法:
function checkNumber($number){ if($number > 1){ throw new Exception('所输入的值不能大于1'); //文件E:\www\test\admin.php的第4行发生了错误,错误详情:所输入的值不能大于1 } return true; } try{ checkNumber(2); echo '如果程序运行到了这儿,说明输入的数字<=1'; } catch(Exception $e){ echo "文件<span style='color:red;'>".$e->getFile()."</span>的第<span style='color:red;'>".$e->getLine()."</span>行发生了错误,错误详情:<span style='color:red;'>".$e->getMessage()."</span></br>"; }
创建一个自定义的Exception类(需要继承Exception类)
class customException extends Exception{ public function errorMessage(){ $error_message = "文件<span style='color:red;'>".$this->getFile()."</span>的第<span style='color:red;'>".$this->getLine()."</span>行发生了错误,错误详情:<span style='color:red;'>".$this->getMessage()."</span></br>"; return $error_message; } } $number = 2; try{ if($number > 1){ throw new customException('所输入的值不能大于1'); //文件E:\www\test\admin.php的第12行发生了错误,错误详情:所输入的值不能大于1 } echo '如果程序运行到了这儿,说明输入的数字<=1'; } catch(customException $e){ echo $e->errorMessage(); }