php异常处理类

<?php
header('content-type:text/html;charset=UTF-8');

// 创建email异常处理类
class emailException extends exception
{
}
// 创建pwd异常处理类
class pwdException extends exception
{
    public function __tostring(){
        return $this->getMessage().'in file:'.$this->getFile().'on line:'.$this->getLine();
    }
}

function reg($reginfo = null)
{
    // 依据不同错误抛出不同异常
    if (empty($reginfo) || !isset($reginfo)) {
        throw new Exception('参数非法');
    }
    if (empty($reginfo['email'])) {
        throw new emailException('邮件为空');
    }
    if ($reginfo['pwd'] != $reginfo['repwd']) {
        throw new pwdException('两次密码不一致!');
    }
}

// 接收不同异常,并针对性处理!
try {
   reg(array('email' => '1078789950@qq.com', 'pwd' => '123', 'repwd' => '1231' ));
} catch (Exception $e) {
    echo $e ->getMessage();
} catch (emailException $ee) {
    echo $ee ->getMessage();
} catch (pwdException $ep) {
    echo $ep;
}
原文地址:https://www.cnblogs.com/yhdsir/p/5528983.html