<?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中文手册》是PHP开发者的必备参考资料,它详细阐述了PHP5这一版本的各种特性和功能。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可嵌入到HTML中使用。PHP5的发布带来了...
《PHP5中文手册完整版》是一份详尽的资源,为中文用户提供了全面的PHP5编程指导。这份手册包含了PHP5的所有核心概念、语法、函数和API,是开发者学习和查询PHP5技术的重要参考资料。全中文翻译使得国内开发者能够无...
《PHP5操作手册》是为开发者提供PHP5编程详尽指南的重要参考资料,包含了全面的函数、类、对象和语言特性的解释。这份手册分为中文版和英文版,以满足不同语言背景用户的需求。尽管中文版可能更易于理解,但推荐使用...
5. **异常处理**:PHP5引入了异常处理机制,允许程序员以更优雅的方式处理程序中的错误和异常,通过`try-catch`结构来捕获和处理可能出现的问题。 6. **文件上传**:PHP5提供了处理文件上传的功能,可以使用`$_...
**PHP5英文学习手册概述** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中。PHP5是PHP的一个重要版本,它在PHP4的基础上进行了大量的改进和增强,为开发者提供...
手册中对此有详尽的阐述,包括如何抛出异常、捕获异常以及自定义异常类。 此外,PHP5加强了数据库支持,特别是对PDO(PHP Data Objects)的引入,提供了一个统一的接口来访问多种数据库系统,增强了代码的可移植性...
10. **扩展和模块**:PHP5允许开发自定义扩展,手册会介绍如何编写和使用扩展,以及如何管理和配置已存在的扩展。 11. **附录**:包含各种参考信息,如保留关键字、常量列表、函数索引等,方便开发者快速查找所需...
《PHP5中文参考手册》是学习PHP5编程的重要资源,对于初学者和进阶开发者来说,都具有极高的参考价值。这份手册详细介绍了PHP5的所有核心概念、语法、函数以及对象模型,帮助开发者深入理解PHP5的强大功能和使用方法...
5. **类常量可见性**:PHP 7.1引入了对类常量的可见性控制,可以设置为`public`、`protected`或`private`,增强了封装性。 6. **改进的错误处理**:PHP 7.1将错误转换为异常,使错误处理更加统一,便于通过异常处理...
8. **安全实践**:PHP手册还会强调安全问题,如输入验证、防止SQL注入、XSS攻击等。 9. **性能优化**:讲解如何优化代码、缓存技术、以及PHP的配置调整以提高程序性能。 10. **扩展和模块**:PHP允许添加和使用...
手册讲解了错误报告级别、异常类的使用和自定义异常处理。 8. **XML处理**:PHP5.2.0提供了诸如DOM、SimpleXML、XMLWriter等库来解析和生成XML文档,方便数据交换。 9. **模板引擎**:手册可能涉及到Smarty等模板...
此外,PHP5对错误和异常的处理方式进行了改进,新增了try-catch结构以及自定义异常类的功能,使得代码的健壮性大大增强。文件系统和数据库操作是Web开发的基石,手册对此提供了全面的API文档以及最佳实践,帮助...
7. **安全实践**:PHP手册也会强调Web应用的安全性,如预防SQL注入、XSS攻击,以及如何使用PHP的过滤和验证函数确保数据安全。 8. **会话管理**:PHP提供session机制来跟踪用户的会话状态,手册会解释如何开启和...
3. 异常处理:Java的try-catch-finally语句,自定义异常。 4. 集合框架:List、Set、Map接口及其具体实现类的使用。 5. 输入/输出流:文件操作,网络通信,序列化和反序列化。 6. 多线程:线程的创建、同步、通信和...
其次,手册深入介绍了函数和类库的使用,包括内置函数、自定义函数、面向对象编程(OOP)特性如类、对象、继承、封装、多态等。PHP支持大量内置函数,用于处理字符串、数组、日期时间、文件系统操作、网络通信等常见...
《PHP5中文手册》是PHP开发者的必备参考资料,它详细阐述了PHP5的语法、函数、类库以及各种编程实践。下面将从多个方面解析PHP5的重要知识点。 1. **基础语法** PHP5的基础语法包括变量声明、数据类型(如整型、...
手册会介绍如何定义自定义异常、异常处理机制、日志等级和日志驱动的设置。 10. **缓存与队列** ThinkPHP5提供了多种缓存驱动,如文件、Memcached、Redis等,用于提升应用性能。同时,手册还会介绍队列的使用,以...
《PHP手册(新版)》是PHP开发者不可或缺的学习和参考资源,它包含了PHP语言的全面信息,从基础语法到高级特性,覆盖了开发过程中的各个方面。这份手册的更新版旨在提供最新的语言规范和技术信息,帮助开发者跟上PHP...
1. **PHP手册 (php_manual_zh.chm)** PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域应用广泛。PHP手册提供了全面的函数参考、语法指南和最佳实践。它包含以下主要内容: - **基础语法**:变量、数据类型、...
PHP手册包括核心概念、数据类型、控制结构、函数库、错误与异常处理等多个部分。学习PHP手册有助于提升编程效率,解决实际开发中的问题。 1. PHP基础:涵盖变量、常量、数据类型(如字符串、数组、布尔、整型、浮点...