码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-06-01 18:39:23      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:文件   ext   except   extends   lin   抛出异常   on()   div   public   

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面向对象程序设计之异常处理

标签:文件   ext   except   extends   lin   抛出异常   on()   div   public   

原文地址:http://www.cnblogs.com/htmlphp/p/6930187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!