PHP 异常处理

Try, throw 和 catch

try - 将异常函数放在try代码块内,若未触发异常则程序照常执行,若触发了异常则抛出一个异常;

throw - 规定如何触发异常,每个throw 至少对应一个catch

catch - catch代码块会捕获异常,并创建一个包含异常信息的对象(Exception

基本使用方法:

function checkNumber($number){
    if($number > 1){
        throw new Exception('所输入的值不能大于1');      //文件E:www	estadmin.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	estadmin.php的第12行发生了错误,错误详情:所输入的值不能大于1
    }
    echo '如果程序运行到了这儿,说明输入的数字<=1';
}
catch(customException $e){
    echo $e->errorMessage();
}
原文地址:https://www.cnblogs.com/chrdai/p/6380768.html