php类知识---try catch
2024-09-02 11:51:08
<?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("我满心欢喜打开我的未来");
?>
最新文章
- URAL 1992 CVS 可持久化链栈
- 实例之HTML标签属性
- JSP 核心标签库
- 软件工程 speedsnail 第二次冲刺1次
- hdu-5686 Problem B(斐波那契数列)
- PySide 简易教程<;二>;-------工欲善其事,必先利其器
- 001.为什么选择用AngularJs开发?
- poj 1742 Coins(dp之多重背包+多次优化)
- SQL Server 2008 批量插入数据时报错
- 门面(Facade)模式
- Data Volume 之 bind mount - 每天5分钟玩转 Docker 容器技术(39)
- set 利用lower_bound实现key索引
- Linux 三剑客 -- awk sed grep
- PYTHON-函数的定义与调用,返回值,和参数-练习
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第三话):创建一个自由风格的项目(非maven),实现自动打war包
- Struts 2 初步入门(五)之接受参数
- Final发布
- ssh The authenticity of host &#39;10.11.26.2 (10.11.26.2)&#39; can&#39;t be established
- 微服务架构之思维三部曲:What、Why、How
- 数据库——SQL中EXISTS怎么用1(转)
热门文章
- 11.把文本文件的数据导入到Hive表中
- Minimum Number of Arrows to Burst Balloons
- IDEA自动生成的注释模板
- 洛谷 P1266 速度限制 题解
- Linux磁盘挂载、分区、扩容操作
- 安装jenkins时出现 No such plugin: cloudbees-folder的解决办法
- Python(八) —— 异常(概念、捕获、传递、抛出)
- [转载]aspnet webapi 跨域请求 405错误
- Linq操作之Except,Distinct,Left Join 【转】
- 抓包工具之tcpdump