php类知识---try catch
<?php
try
{
echo "比赛开始"."\n";
throw new Exception('哇呀呀~运动员摔倒了'."\n",);
}
catch (Exception $e )
{
echo "获取错误信息:".$e->getMessage()."\n";
echo "获取错误编码:".$e->getCode()."\n";
}
echo "哎呀比赛结束了"."\n";
?>
输出结果:
比赛开始
获取错误信息:哇呀呀~运动员摔倒了
- 自定义异常类
<?php
//自定义异常
class MyException extends Exception #自定义异常类继承自异常基类
{
public function demo()
{
echo "快把运动员扶起来";
}
}
try{
echo "比赛开始"."\n";
throw new MyException("哎呀运动员摔倒了",);
}
catch(MyException $e)
{
echo $e->getCode()."\n";
echo $e->getMessage()."\n";
echo $e->demo()."\n";
}
echo "比赛结束"."\n";
?>
输出结果:
比赛开始
哎呀运动员摔倒了
快把运动员扶起来
比赛结束
- 使用自定义myexception的重要原则
<?php class myexception extends Exception
{
public function demo()
{
echo "快把运动员扶起来"."\n";
}
} try{
echo "比赛开始"."\n";
throw new myexception('运动员被绊了一跤',); #尽管抛出的是myexception,但是却被原生exception捕捉到了,所以自定义exception应该放在第一个!
}
catch (Exception $e)
{
echo $e->getMessage()."\n";
echo $e->getCode()."\n";
echo "上述是原生exception"."\n";
}
catch ( myexception $e)
{
echo $e->getMessage()."\n";
echo $e->getCode()."\n";
echo $e->demo()."\n";
echo "上述是自定义myexception"."\n";
}
?>
输出结果:
比赛开始
运动员被绊了一跤
上述是原生exception
正确姿势: <?php class myexception extends Exception
{
public function demo()
{
echo "快把运动员扶起来"."\n";
}
} try{
echo "比赛开始"."\n";
throw new myexception('运动员被绊了一跤',);
} catch ( myexception $e)
{
echo $e->getMessage()."\n";
echo $e->getCode()."\n";
echo $e->demo()."\n";
echo "上述是自定义myexception"."\n";
}
catch (Exception $e)
{
echo $e->getMessage()."\n";
echo $e->getCode()."\n";
echo "上述是原生exception"."\n";
} ?>
输出结果:
比赛开始
运动员被绊了一跤
快把运动员扶起来
上述是自定义myexception
- 特别函数set_exception_handler
<?php
function heichouxianwaA($mywords)
{
echo $mywords->getMessage();
}
set_exception_handler('heichouxianwaA');
throw new Exception("我满心欢喜打开我的未来");
?>
php类知识---try catch的更多相关文章
- C++ DLL导出类 知识大全
在公司使用C++ 做开发,公司的大拿搭了一个C++的跨平台开发框架.在C++开发领域我还是个新手,有很多知识要学,比如Dll库的开发. 参考了很多这方面的资料,对DLL有一个基本全面的了解.有一个问题 ...
- Java中Properties类知识的总结
一.Properties类与配置文件 注意:是一个Map集合,该集合中的键值对都是字符串.该集合通常用于对键值对形式的配置文件进行操作. 配置文件:将软件中可变的部分数据可以定义到一个文件中,方便以后 ...
- java IO流之——File类知识总结和面试
File类描述的是一个文件或文件夹.(文件夹也可以称为目录).该类的出现是对文件系统的中的文件以及文件夹进行对象的封装.可以通过对象的思想来操作文件以及文件夹.可以用面向对象的处理问题,通过该对象的方 ...
- C++类知识总结
c++类 1.初始化const或引用类型数据成员的唯一机会是在构造函数初始化列表中. 2.使用成员初始化列表时成员初始化的次序:第一个成员首先被初始化.然后是第二个,依次类推. 构造函数初始化列表为类 ...
- php类知识 self $this都只能在当前类中使用
$this是当前对象的指针,self是当前类的指针 $this只能用在成员方法中,不能存在于静态方法 self 静态方法和成员方法中都能使用 self可以访问类常量,静态属性,静态方法,成员方法--- ...
- PHP类知识----静态属性和方法
<?php class mycoach { public $name="陈培昌"; CONST hisage =; ; private $favorite = "喜 ...
- php类知识---常量点滴
常量在类的内部,外部都可以访问,要通过类名::常量名 常量没有访问修饰符 与变量不同的是,常量不能放在双引号中取值,而变量可以 <?phpclass mycoach{ public $name= ...
- php类知识----特别用法
spl_autoload_register注册 <?php #spl_autoload_register-----这个例子是用来打印实例化类的类名 function thereisagameof ...
- php类知识---命名空间
<?php #命名空间namespace用来解决类的命名冲突,和引用问题 namespace trainingplan1; class mycoach { public function tra ...
随机推荐
- hdoj2196(树形dp,树的直径)
题目链接:https://vjudge.net/problem/HDU-2196 题意:给出一棵树,求每个结点可以到达的最远距离. 思路: 如果求得是树上最长距离,两次bfs就行.但这里求的是所有点的 ...
- 【Python】【基础知识】【内置函数】【object的使用方法】
原英文帮助文档: class object Return a new featureless object. object is a base for all classes. It has the ...
- PAT B1011 A+B 和 C (15)
AC代码 #include <cstdio> int main() { int T, tcase = 1; scanf("%d", &T); for(int i ...
- L1-064 估值一亿的AI核心代码 (20 分)
L1-064 估值一亿的AI核心代码 (20 分) 以上图片来自新浪微博. 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是: 无论用户说什么,首先把对方说的话在一行中原样打印出来: ...
- windowsformshost mouse event not transmit to it's parent control
in the case you can do it to fix: MouseEventArgs e = new MouseEventArgs(Mouse.PrimaryDevice, 0); e.R ...
- dev GridView 的组计和分组计
/// <summary> /// //添加组计 /// </summary> private void SetGroupSummary(GridView gv, string ...
- 使用modle1(jsp+javabeans)及cookie技术实现商品展示和浏览记录
步骤1:创建dbHelper工具类,该类主要用于获取数据库连接,采用单例模式. 步骤2:创建实体类商品类,商品表,在dao实现数据的封装处理. 步骤3:在jsp页面导入实体类,调用DAO的静态方案获取 ...
- Spark 源码和应用开发环境的构建
引言 Spark 现在无疑是大数据领域最热门的技术之一,读者很容易搜索到介绍如何应用 Spark 技术的文章,但是作为开发人员,在了解了应用的概念之后,更习惯的是打开开发环境,开发一些应用来更深入的学 ...
- CTF 常见操作总结
一般流程 首先看header, veiwsource, 目录扫描 有登陆, 尝试sql注入&爆破 有数据库, 必然sql注入? 普通sql注入 判断是否存在回显异常 尝试单双引号 查是字符型? ...
- react中怎么写css样式?
JSX基本语法中关于react如何写css样式主要有三种方法 1.基于class --(className) 基于className ,通过className在style中给该class名的DOM元素 ...