`
shake863
  • 浏览: 664748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php5手册上的 自定义异常

    博客分类:
  • php
PHP 
阅读更多

<?php
/**
 * 自定义一个异常处理类
 */
class  MyException  extends  Exception
{
    
// 重定义构造器使 message 变为必须被指定的属性
    
public function  __construct ( $message $code  0 ) {
        
// 自定义的代码

        // 确保所有变量都被正确赋值
        
parent :: __construct ( $message $code );
    }

    
// 自定义字符串输出的样式
    
public function  __toString () {
        return 
__CLASS__  ": [{$this->code}]: {$this->message}\n" ;
    }

    public function 
customFunction () {
        echo 
"A Custom function for this type of exception \n" ;
    }
}


/**
 * 创建一个用于测试异常处理机制的类
 */
class  TestException
{
    public 
$var ;

    const 
THROW_NONE     0 ;
    const 
THROW_CUSTOM   1 ;
    const 
THROW_DEFAULT  2 ;

    function 
__construct ( $avalue  self :: THROW_NONE ) {

        switch (
$avalue ) {
            case 
self :: THROW_CUSTOM :
                
// 抛出自定义异常
                
throw new  MyException ( '1 is an invalid parameter' 5 );
                break;

            case 
self :: THROW_DEFAULT :
                
// 抛出默认的异常
                
throw new  Exception ( '2 isnt allowed as a parameter' 6 );
                break;

            default:
                
// 没有异常的情况下,创建一个对象
                
$this -> var  $avalue ;
                break;
        }
    }
}


// 例子 1
try {
    
$o  = new  TestException ( TestException :: THROW_CUSTOM );
} catch (
MyException $e ) {       // 捕获异常
    
echo  "Caught my exception \n" $e ;
    
$e -> customFunction ();
} catch (
Exception  $e ) {         // 被忽略
    
echo  "Caught Default Exception \n" $e ;
}

// 执行后续代码
var_dump ( $o );
echo 
"\n\n" ;


// 例子 2
try {
    
$o  = new  TestException ( TestException :: THROW_DEFAULT );
} catch (
MyException $e ) {       // 不能匹配异常的种类,被忽略
    
echo  "Caught my exception \n" $e ;
    
$e -> customFunction ();
} catch (
Exception  $e ) {         // 捕获异常
    
echo  "Caught Default Exception \n" $e ;
}

// 执行后续代码
var_dump ( $o );
echo 
"\n\n" ;


// 例子 3
try {
    
$o  = new  TestException ( TestException :: THROW_CUSTOM );
} catch (
Exception  $e ) {         // 捕获异常
    
echo  "Default Exception  caught\n" $e ;
}

// 执行后续代码
var_dump ( $o );
echo 
"\n\n" ;


// 例子 4
try {
    
$o  = new  TestException ();
} catch (
Exception  $e ) {         // 没有异常,被忽略
    
echo  "Default Exception  caught\n" $e ;
}

// 执行后续代码
var_dump ( $o );
echo 
"\n\n" ;
?>

分享到:
评论

相关推荐

    php5 中文手册 php5最新的中文手册

    《PHP5中文手册》是PHP开发者的必备参考资料,它详细阐述了PHP5这一版本的各种特性和功能。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可嵌入到HTML中使用。PHP5的发布带来了...

    php5中文手册完整版

    《PHP5中文手册完整版》是一份详尽的资源,为中文用户提供了全面的PHP5编程指导。这份手册包含了PHP5的所有核心概念、语法、函数和API,是开发者学习和查询PHP5技术的重要参考资料。全中文翻译使得国内开发者能够无...

    PHP5操作手册

    《PHP5操作手册》是为开发者提供PHP5编程详尽指南的重要参考资料,包含了全面的函数、类、对象和语言特性的解释。这份手册分为中文版和英文版,以满足不同语言背景用户的需求。尽管中文版可能更易于理解,但推荐使用...

    php5中文手册chm版

    5. **异常处理**:PHP5引入了异常处理机制,允许程序员以更优雅的方式处理程序中的错误和异常,通过`try-catch`结构来捕获和处理可能出现的问题。 6. **文件上传**:PHP5提供了处理文件上传的功能,可以使用`$_...

    PHP5英文学习手册

    **PHP5英文学习手册概述** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中。PHP5是PHP的一个重要版本,它在PHP4的基础上进行了大量的改进和增强,为开发者提供...

    php5中文手册最新无错版(chm)

    手册中对此有详尽的阐述,包括如何抛出异常、捕获异常以及自定义异常类。 此外,PHP5加强了数据库支持,特别是对PDO(PHP Data Objects)的引入,提供了一个统一的接口来访问多种数据库系统,增强了代码的可移植性...

    PHP5 帮助手册(中文版)chm文件

    10. **扩展和模块**:PHP5允许开发自定义扩展,手册会介绍如何编写和使用扩展,以及如何管理和配置已存在的扩展。 11. **附录**:包含各种参考信息,如保留关键字、常量列表、函数索引等,方便开发者快速查找所需...

    php5中文参考手册

    《PHP5中文参考手册》是学习PHP5编程的重要资源,对于初学者和进阶开发者来说,都具有极高的参考价值。这份手册详细介绍了PHP5的所有核心概念、语法、函数以及对象模型,帮助开发者深入理解PHP5的强大功能和使用方法...

    Dash PHP 7.1 中文手册包

    5. **类常量可见性**:PHP 7.1引入了对类常量的可见性控制,可以设置为`public`、`protected`或`private`,增强了封装性。 6. **改进的错误处理**:PHP 7.1将错误转换为异常,使错误处理更加统一,便于通过异常处理...

    PHP中文手册CHM

    8. **安全实践**:PHP手册还会强调安全问题,如输入验证、防止SQL注入、XSS攻击等。 9. **性能优化**:讲解如何优化代码、缓存技术、以及PHP的配置调整以提高程序性能。 10. **扩展和模块**:PHP允许添加和使用...

    PHP5.2.0中文使用手册

    手册讲解了错误报告级别、异常类的使用和自定义异常处理。 8. **XML处理**:PHP5.2.0提供了诸如DOM、SimpleXML、XMLWriter等库来解析和生成XML文档,方便数据交换。 9. **模板引擎**:手册可能涉及到Smarty等模板...

    php手册合集

    此外,PHP5对错误和异常的处理方式进行了改进,新增了try-catch结构以及自定义异常类的功能,使得代码的健壮性大大增强。文件系统和数据库操作是Web开发的基石,手册对此提供了全面的API文档以及最佳实践,帮助...

    php中文手册 chm版

    7. **安全实践**:PHP手册也会强调Web应用的安全性,如预防SQL注入、XSS攻击,以及如何使用PHP的过滤和验证函数确保数据安全。 8. **会话管理**:PHP提供session机制来跟踪用户的会话状态,手册会解释如何开启和...

    php java编程手册

    3. 异常处理:Java的try-catch-finally语句,自定义异常。 4. 集合框架:List、Set、Map接口及其具体实现类的使用。 5. 输入/输出流:文件操作,网络通信,序列化和反序列化。 6. 多线程:线程的创建、同步、通信和...

    PHP 中文手册 官方2016

    其次,手册深入介绍了函数和类库的使用,包括内置函数、自定义函数、面向对象编程(OOP)特性如类、对象、继承、封装、多态等。PHP支持大量内置函数,用于处理字符串、数组、日期时间、文件系统操作、网络通信等常见...

    PHP5 中文 手册

    《PHP5中文手册》是PHP开发者的必备参考资料,它详细阐述了PHP5的语法、函数、类库以及各种编程实践。下面将从多个方面解析PHP5的重要知识点。 1. **基础语法** PHP5的基础语法包括变量声明、数据类型(如整型、...

    ThinkPHP5手册.zip

    手册会介绍如何定义自定义异常、异常处理机制、日志等级和日志驱动的设置。 10. **缓存与队列** ThinkPHP5提供了多种缓存驱动,如文件、Memcached、Redis等,用于提升应用性能。同时,手册还会介绍队列的使用,以...

    PHP手册(新版).zip

    《PHP手册(新版)》是PHP开发者不可或缺的学习和参考资源,它包含了PHP语言的全面信息,从基础语法到高级特性,覆盖了开发过程中的各个方面。这份手册的更新版旨在提供最新的语言规范和技术信息,帮助开发者跟上PHP...

    php程序员用到的手册 php手册 Smarty完全中文手册 Zend_Framework手册 CSS手册

    1. **PHP手册 (php_manual_zh.chm)** PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域应用广泛。PHP手册提供了全面的函数参考、语法指南和最佳实践。它包含以下主要内容: - **基础语法**:变量、数据类型、...

    php手册大全,jquery手册,js手册,smarty,手册

    PHP手册包括核心概念、数据类型、控制结构、函数库、错误与异常处理等多个部分。学习PHP手册有助于提升编程效率,解决实际开发中的问题。 1. PHP基础:涵盖变量、常量、数据类型(如字符串、数组、布尔、整型、浮点...

Global site tag (gtag.js) - Google Analytics