php的异常详解,php5异常处理详解_php
扩展异常,即自定义异常
class FileExistsException extends Exception{} //用于处理文件不存在异常的类
class FileOpenException extends Exception{} //用于处理文件不可读异常的类
$path = "D:in.txt";
try
{
file_open($path);
}
catch(FileExistsException $e) //如果产生FileExistsException异常则提示用户确认文件位置
{
echo "程序在运行过程中发生了异常:".$e->getMessage()."//n";
echo "请确认文件位置。";
}
catch(FileOpenException $e) //如果产生FileOpenException异常则提示用户确认文件的可读性
{
echo "程序在运行过程中发生了异常:".$e->getMessage()."//n";
echo "请确认文件的可读性。";
}
catch(Exception $e)
{
echo "[未知异常]";
echo "异常信息:".$e->getMessage()."//n"; //返回用户自定义的异常信息
echo "异常代码:".$e->getCode()."//n"; //返回用户自定义的异常代码
echo "文件名:".$e->getFile()."//n"; //返回发生异常的PHP程序文件名
echo "异常代码所在行".$e->getLine()."//n"; //返回发生异常的代码所在行的行号
echo "传递路线:";
print_r($e->getTrace()); //以数组形式返回跟踪异常每一步传递的路线
echo $e->getTraceAsString(); //返回格式化成字符串的getTrace函数信息
}
function file_open($path)
{
if(!file_exists($path))
{
throw new FileExistsException("文件无法找到", 1); //抛出FileExistsException异常对象
}
if(!fopen($path, "r"))
{
throw new FileOpenException("文件无法打开", 2); //抛出FileOpenException异常对象
}
}
?>
4 重抛异常给上层
class FileExistsException extends Exception{} //用于处理文件不存在异常的类
class FileOpenException extends Exception{} //用于处理文件不可读异常的类
$path = "D:in.txt";
try
{
file_open($path);
}
catch(FileExistsException $e) //如果产生FileExistsException异常则提示用户确认文件位置
{
echo "程序在运行过程中发生了异常:".$e->getMessage()."//n";
echo "请确认文件位置。";
}
catch(FileOpenException $e) //如果产生FileOpenException异常则提示用户确认文件的可读性
{
echo "程序在运行过程中发生了异常:".$e->getMessage()."//n";
echo "请确认文件的可读性。";
}
catch(Exception $e)
{
echo "[未知异常]";
echo "异常信息:".$e->getMessage()."//n"; //返回用户自定义的异常信息
echo "异常代码:".$e->getCode()."//n"; //返回用户自定义的异常代码
echo "文件名:".$e->getFile()."//n"; //返回发生异常的PHP程序文件名
echo "异常代码所在行".$e->getLine()."//n"; //返回发生异常的代码所在行的行号
echo "传递路线:";
print_r($e->getTrace()); //以数组形式返回跟踪异常每一步传递的路线
echo $e->getTraceAsString(); //返回格式化成字符串的getTrace函数信息
}
function file_open($path)
{
try
{
if(!file_exists($path))
{
throw new FileExistsException("文件无法找到", 1);
}
if(!fopen($path, "r"))
{
throw new FileOpenException("文件无法打开", 2);
}
}
catch(Exception $e) //捕获异常
{
echo "file_open函数在运行过程中出现异常";
throw $e; //重掷异常
}
}
?>
php的异常详解,php5异常处理详解_php相关推荐
- 多重句柄怎么处理_golang异常处理详解
小熊今天有意外收获,忍不住给大家分享我愉快的心情!昨天中午下楼取外卖的时候被一个同事认出来了,他问我:"是不是[编程三分钟]的作者,文章写的不错". 你知道吗!我当时就是一愣,然后 ...
- Python 异常处理 详解
Python 异常处理 详解 1.错误和异常 1.1 错误 `Error` 1.2 异常 `Exception` 1.3 总结 2.产生异常 3.捕获异常 3.1 语法 3.2 示例 1 3.3 示例 ...
- Java 异常的捕获与处理详解 (一)
Java 异常的捕获与处理详解 (一) 参考文章: (1)Java 异常的捕获与处理详解 (一) (2)https://www.cnblogs.com/revel171226/p/8288832.ht ...
- Spring MVC异常处理详解 ExceptionHandler good
Spring MVC异常处理详解 ExceptionHandler good 参考文章: (1)Spring MVC异常处理详解 ExceptionHandler good (2)https://ww ...
- Spring MVC异常处理详解
Spring MVC异常处理详解 参考文章: (1)Spring MVC异常处理详解 (2)https://www.cnblogs.com/xinzhao/p/4902295.html 备忘一下.
- 线程池源代码详解,参数详解
线程池源代码详解,参数详解 ThreadPoolExecutor 构造函数源代码 public ThreadPoolExecutor(int corePoolSize, int maximumPool ...
- ARP命令详解--网络命令详解二
显示和修改"地址解析协议 (ARP)"缓存中的项目.ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址.计算机上安装的每一个以太网或令牌环 ...
- TOPSIS(逼近理想解)算法原理详解与代码实现
写在前面: 个人理解:针对存在多项指标,多个方案的方案评价分析方法,也就是根据已存在的一份数据,判断数据中各个方案的优劣.中心思想是首先确定各项指标的最优理想值(正理想值)和最劣理想值(负理想解),所 ...
- php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...
PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...
最新文章
- nginx服务器access_log日志分析及配置详解
- C# 7中函数多值返回_转自InfoQ
- PowerShell-5.网络请求
- date比较大小 mybatis_MyBatis Sqlserver日期比较
- sylog mysql_25.2 配置使用基于mysql存储日志信息
- 写一个 panic blame 机器人
- STM32跑分?看看你的能跑多少分!
- 微软project服务器搭建,Project Professional 版本(Project Server 2010 设置)
- GMQ交易平台大力探索区块链技术,进一步推动产业繁荣
- 代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file
- 修改一个CGRect的值
- c语言对用下标法二维数组遍历,二维数组遍历:下标法与指针法的较量
- 在线正则表达式可视化工具
- 第三章:logback 的配置
- 厦门IT公司名单及联系方式
- 铁路铁鞋UWB定位系统
- sqli-labs(38-41)
- 信息学奥赛一本通 1196:踩方格 | OpenJudge NOI 2.6 4982:踩方格
- Hadoop培训视频教程
- Kafka集群搭建(四节点)
热门文章
- (010) Linux之I/O重定向
- linux7 ntp log,RH254小结(九)rhel7新的ntp对时服务Chrony
- C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标
- 【数据结构与算法】之深入解析“H指数II”的求解思路与算法示例
- App设计灵感之十二组精美的酒店预定App设计案例
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1009:带余除法
- 《python从入门到精通》——生成由数字、字母组成的4位验证码
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics
- 【内核驱动】 在内核源码中添加第一个驱动程序
- [Qt教程] 第32篇 网络(二)HTTP