PHP实现的简单异常处理类示例

yipeiwu_com6年前PHP代码库

本文实例讲述了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;
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法

准备工作: ① 首先要会使用ThinkPHP这个框架 ② 最好有些ajax的基础(可以去看下小飞的另外一篇博文:Ajax实时验证"用户名/邮箱等"是否已经存在) ③ 4个js文档(点此免...

php多次include后导致全局变量global失效的解决方法

本文实例讲述了php多次include后导致全局变量global失效的解决方法。分享给大家供大家参考。具体分析如下: 在多个文件中,文件一个接一个include,但最后一个文件里的函数使...

smarty表格换行实例

本文实例讲述了smarty表格换行的实现方法。分享给大家供大家参考。具体分析如下: 在foreach中加入 key=count 复制代码 代码如下:<table> ...

php中的动态调用实例分析

本文实例讲述了php中的动态调用具体用法。分享给大家供大家参考。具体分析如下: 在程序中如果加一大堆判断的确是一个很大的麻烦,例如这样: 复制代码 代码如下:if($fun='a'){e...

PHP基于swoole多进程操作示例

PHP基于swoole多进程操作示例

本文实例讲述了PHP基于swoole多进程操作。分享给大家供大家参考,具体如下: 多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户...