PHP面向对象程序设计之异常处理

1.内置的异常处理类Exception
<?php

try{
    $num = 2;
    if($num == 1){
        echo "success";
    }else{
        throw new Exception(); //抛出异常,Exception是一个类名
    }
}catch(Exception $e){ //捕获异常
    echo $e -> getFile();
    echo $e -> getLine();
    echo $e -> getCode();
    echo $e -> getMessage();
}
?>

2. 自定义异常处理类,继承内置的Exception类
<?php 

class myException extends Exception{

    public function getAllInfo(){
        return "异常发送的文件为:{$this -> getFile()},异常发生的行数为:{$this -> getLine()},异常的信息为:{$this -> getMessage()},异常的代码为:{$this -> getCode()}";
    }
}

try{
    if($_GET[‘num‘] == 5){
        throw new myException("这是一个自定义的异常",123456); //抛出一个异常,就自动跳到catch
    }
    echo "success";
}catch(myException $e){
    echo $e -> getAllInfo();
}
?>

3.捕捉多个异常,因为有内置的异常处理类,也可以有自己自定义的异常处理类
<?php
class myException extends Exception{

    public function getAllInfo(){
        return $this -> getMessage();
    }
}

try{
    if($_GET[‘num‘] == 1){
        throw new myException("这是自定义的异常处理类");
    }elseif($_GET[‘num‘] == 2){
        throw new Exception("这是系统的异常处理");
    }
    echo "success";
}catch(myException $e){
    echo $e -> getAllInfo();
    echo "111";
}catch(Exception $e){
    echo $e -> getMessage();
    echo "222";
}
?>
时间: 2024-12-08 05:30:38

PHP面向对象程序设计之异常处理的相关文章

你好,C++(31)我终于找到对象啦!6.1 从结构化设计到面向对象程序设计

http://www.kuqin.com/shuoit/20150809/347546.html 当C++爱上面向对象 很多第一次进入C++世界的人都会问:C++中的那两个加号到底是什么意思啊? C++是由C语言发展而来的,它比C语言多出的两个加号,实际上是C语言的自增操作符,表示C++语言是在C语言的基础上添加了新的内容而发展形成的.如果其中一个加号代表C++在C语言的基础上增加了模板.异常处理等现代程序设计语言的新特性的话,那么另外一个加号则代表C++在C语言的基础上增加了对面向对象程序设计

Ruby(面向对象程序设计的脚本语言)入门

Ruby是一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言. 简介 Ruby 是开源的,在Web上免费提供,但需要一个许可证. Ruby 是一种通用的.解释的编程语言. Ruby 是一种真正的面向对象编程语言. Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言. Ruby 可以用来编写通用网关接口(CGI)脚本. Ruby 可以被嵌入到超文本标记语言(HTML). Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby. Ruby 与 C++ 和

面向对象程序设计-C++ Finial exam review NOTES【第十六次上课笔记】

写在前面: 我记得也不全,如果有记录的更全的同学可以留言,我会添加哒 :) 常量 内敛函数 为什么需要内敛函数 内敛函数适用于什么场合 内敛函数本身,最大优点是,避免了真正函数调用的开销 因为普通函数调用会有开销,比如开辟一个栈,结束了还要释放局部变量 如果函数体只有寥寥几行,是不值得使用函数 在函数体代码比较短小的时候,使用频繁的,应该使用内敛函数 最大优点:没有函数调用开销,又解决了带有参数宏的简单替换,它有类型检查 引用 什么是引用:给这块区域的数据再增加一个名称(本质含义) 表面上看,相

面向对象程序设计-C++ Stream &amp; Template &amp; Exception【第十五次上课笔记】

这是本门<面向对象程序设计>课最后一次上课,刚好上完了这本<Thinking in C++> :) 这节课首先讲了流 Stream 的概念 平时我们主要用的是(1)在屏幕上输入输出的 cin cout 流 (2)在文件中输入输出的 ifstream ofstream 流 (3)在字符串中输入输出的 istringstream ostringstream istrstream ostrstream 流 具体实例可以看以下代码: /***************************

焦旭超201771010109《面向对象程序设计(java)》第一周学习总结

本人学号<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com jccljj 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ Jcczits 中国大学MOOC:https://www.icourse163.org/ Jcczits 以下回答是或否 是否加入课程班级博客群 是 是否加入课程QQ讨论群

201771010143 张云飞《面向对象程序设计(java)》第六章学习总结

实验六继承定义与使用 实验时间2018-9-28 1.实验目的与要求 (1) 理解继承的定义: 特殊类的对象拥有一般类的全部属性与行为,称为特殊类对一般类的继承.一个类可以是多个一般类的特殊类,也可以从多个一般类中继承属性与行为,但在java语言中,不允许一个类从多个一般类中继承属性与行为,即在java语言中,只支持单继承. 在软件开发中,通过继承机制,可以利用已有的数据类型来定义新的数据类型.所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员.因此,类的继承性使所建立的软件具有开

杨玲 201771010133《面向对象程序设计(java)》第九周学习总结

<面向对象程序设计(java)>第九周学习总结 第一部分:理论知识 异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 程序中出现的常见的错误和问题有:用户输入错误:设备错误:物理限制:代码错误. Java把程序运行时可能遇到的错误分为两类:非致命异常:通过某种修正后程序还能继续执行.这类错误叫作异常.如:文件不存在.无效的数组下标.空引用.网络断开.打印机脱机.磁盘满等. Java中提供了一种独特

201771010102 常惠琢 《2018面向对象程序设计(Java)》第11周学习总结

实验十一   集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3) 掌握ArrayList.LinkList两个类的用途及常用API. (4) 了解HashSet类.TreeSet类的用途及常用API. (5)了解HashMap.TreeMap两个类的用途及常用API: (6) 结对编程(Pair programming)练习,体验程序开发中的两人合作. 2.实验内

201771010126 王燕《面向对象程序设计(java)》第十八周学习总结

实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: 1 package pro