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 ...
随机推荐
- 剑指offer2:C++实现的替换空格(字符中的空格替换为“%20”)
1. 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2. 思路和方法: 2.1 ...
- selenium 鼠标,键盘操作
1.打开和关闭网页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/usr/bin/env python # -*- coding:u ...
- js 中的 number 为何很怪异
js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...
- json在线格式化校验
推荐个在线工具箱,json在线格式化转换编码,挺好用的 https://www.codejson.com/
- 【原创】大数据基础之Logstash(6)mongo input
logstash input插件之mongodb是第三方的,配置如下: input { mongodb { uri => 'mongodb://mongo_server:27017/db' pl ...
- 你真的知道em和rem的区别吗?
前言 em 和 rem 都是相对单位,在使用时由浏览器转换为像素值,具体取决于您的设计中的字体大小设置. 如果你使用值 1em 或 1rem,它可以被浏览器解析成 从16px 到 160px 或其他任 ...
- 1、传统身份验证和JWT的身份验证
1.传统身份验证和JWT的身份验证 传统身份验证: HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用.这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过 ...
- Java 单个集合去重与两个集合去重
一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就 ...
- promise使用的正确方式
一开始恨不能理解下面的代码,为什么可以一直then下去,什么时候要直接return xxx,什么时候return 一个promise,什么时候用Promise.resolve() function ...
- task service的ftp和s3同步文件后续优化方案
1,开启多个task service服务,比如153,154,162各开启一个服务,去ftp和s3读取文件的第一步首先改文件名,比如xxxxxx_153,然后其他154和162不去处理这个文件,xxx ...