小程序全栈学习-面向过程的异常处理的实现

面向过程的异常处理是一种不是很好的异常处理方式,但是它能够帮助初学者理解异常处理的流畅思路,也是比较有意义的。

异常一般是发生在model层的业务代码中,在面向对象的处理流程中业务代码要实现异常的捕获和抛出,具体实现代码如下

public static function getBannerByID($id){

    //TODO:根据Banner ID号获取Banner信息

    try{

        1/0;  //发生异常

    }

    catch (Exception $ex)//异常的捕获

{

        //TODO:处理异常(可以记录日志)

        throw $ex;//异常的抛出

    }

    return 'this is banner info';

}

要在接口代码中实现异常的捕获并将异常的信息返回客户端。

异常

接口代码中要注意三点:

1、数组$err是构造满足rest要求的错误信息的数组,包括错误码、错误信息、发生错误的URL;

2、$ex是业务代码抛出的异常,getMessage()函数是内置的获得错误信息的函数可直接调用;

3、返回错误信息的时候不能直接用return $err,而要用json($err,400),这么做是为了将错误信息规范成json格式。其中$err是错误信息,400是发生错误的状态码。如果没有400,则客户端会得到默认的200信息,200 表示正常访问,这当然和发生异常的实际情况不相符。

你可能感兴趣的:(小程序全栈学习-面向过程的异常处理的实现)