四,php异常处理

1,异常处理

异常处理用于在指定的异常或错误发生时,改变脚本的正常执行流程。

<?php
try{
    //错误或异常
}catch (Exception $ex){
    //处理异常
    //抛出异常
}

2,catch部分如果没有处理异常,继续抛出,那么php默认的异常处理器进行处理。也可以自己编写一个异常处理器,来处理异常。

<?php
function my_exception($e){
    echo "我是顶级异常处理";
}
set_exception_handler("my_exception");
try{
    addUser('aaa');
    echo '操作成功!';
}catch (Exception $e){
    throw $e;
}


function addUser($username){
    if($username == 'a'){
        return true;
    }else{
        throw new Exception('添加失败!');
    }
}

3,每个try或throw至少对应一个catch。

4,可以使用多个catch代码块,捕获不同种类异常。

 

<?php
class MyException1 extends Exception{

}

class MyException2 extends Exception{

}

function A(){
    throw new MyException1("a");
}
function B(){
    throw new MyException2("b");
}

try{
    A();
    B();
}catch (MyException1 $e1){
    echo $e1->getMessage();
}catch (MyException2 $e2){
    echo $e2->getMessage();
}

5,$i = 8/0;fopen('test.txt','r');等不会抛出异常,而是触发错误机制,因此异常机制不会处理这些问题。

 

posted on 2016-08-03 15:46  张三的哥哥  阅读(200)  评论(0编辑  收藏  举报