PHP面向对象程序设计之异常处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面向对象程序设计之异常处理相关的知识,希望对你有一定的参考价值。

1.内置的异常处理类Exception
<?php

try{
    $num = 2;    
    if($num == 1){
        echo "success";
    }else{
        throw new Exception(); //抛出异常,Exception是一个类名
    }    
}catch(Exception $e){ //捕获异常
    echo $e -> getFile();
    echo $e -> getLine();
    echo $e -> getCode();
    echo $e -> getMessage();    
}
?>

2. 自定义异常处理类,继承内置的Exception类
<?php 

class myException extends Exception{
    
    public function getAllInfo(){
        return "异常发送的文件为:{$this -> getFile()},异常发生的行数为:{$this -> getLine()},异常的信息为:{$this -> getMessage()},异常的代码为:{$this -> getCode()}";
    }
}

try{
    if($_GET[num] == 5){
        throw new myException("这是一个自定义的异常",123456); //抛出一个异常,就自动跳到catch
    }
    echo "success";
}catch(myException $e){
    echo $e -> getAllInfo();
}
?>

3.捕捉多个异常,因为有内置的异常处理类,也可以有自己自定义的异常处理类
<?php 
class myException extends Exception{
    
    public function getAllInfo(){
        return $this -> getMessage();
    }
}

try{
    if($_GET[num] == 1){
        throw new myException("这是自定义的异常处理类");
    }elseif($_GET[num] == 2){
        throw new Exception("这是系统的异常处理");
    }
    echo "success";
}catch(myException $e){
    echo $e -> getAllInfo();
    echo "111";
}catch(Exception $e){
    echo $e -> getMessage();
    echo "222";
}
?>

 

以上是关于PHP面向对象程序设计之异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象编程之异常处理机制

Python学习第15篇:面向对象之异常处理

Java面向对象之异常(异常处理方式)

Python面向对象之异常处理

PHP面向对象之选择工厂和更新工厂

文成小盆友python-num8 面向对象中的成员,成员修饰符,特殊成员,异常处理,设计模式之单例模式