php 异常处理实现代码


Posted in PHP onMarch 10, 2009
<?php 
$path = "D:\\in.txt"; 
try //检测异常 
{ 
file_open($path); 
} 
catch(Exception $e) //捕获异常 
{ 
echo $e->getMessage(); 
} function file_open($path) 
{ 
if(!file_exists($path)) //如果文件无法找到,抛出异常对象 
{ 
throw new Exception("文件无法找到", 1); 
} 
if(!fopen($path, "r")) //如果文件无法打开,抛出异常对象 
{ 
throw new Exception("文件无法打开", 2); 
} 
} 
?>
<?php 
$path = "D:\\in.txt"; //文件所在路径 
file_open($path); //调用file_open函数 function file_open($path) 
{ 
if(!file_exists($path)) //如果文件无法找到,抛出异常对象 
{ 
throw new Exception("文件无法找到", 1); 
} 
if(!fopen($path, "r")) //如果文件无法打开,抛出异常对象 
{ 
throw new Exception("文件无法打开", 2); 
} 
} 
?>
<?php 
function exception_handler($e) //用于处理异常的函数 
{ 
echo "未捕获的异常:".$e->getMessage(); 
} set_exception_handler("exception_handler"); //设置异常处理函数 
try //检测异常 
{ 
$path = "D:\\in.txt"; 
} 
catch(Exception $e) //捕获异常 
{ 
echo $e->getMessage(); 
} 
file_open($path); //调用函数打开文件 
function file_open($path) 
{ 
if(!file_exists($path)) //如果文件无法找到,抛出异常对象 
{ 
throw new Exception("文件无法找到", 1); 
} 
if(!fopen($path, "r")) //如果文件无法打开,抛出异常对象 
{ 
throw new Exception("文件无法打开", 2); 
} 
} 
?>
<?php 
$path = "D:\\in.txt"; try 
{ 
file_open($path); //尝试打开文件 
} 
catch(Exception $e) 
{ 
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 Exception("文件无法找到", 1); 
} 
if(!fopen($path, "r")) 
{ 
throw new Exception("文件无法打开", 2); 
} 
} 
?>
<?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异常对象 
} 
} 
?>
<?php 
class FileExistsException extends Exception{} //用于处理文件不存在异常的类 
class FileOpenException extends Exception{} //用于处理文件不可读异常的类 $path = "D:\\in.txt"; 
try 
{ 
file_open($path); //尝试打开文件 
} 
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函数信息 
} 
catch(FileExistsException $e) //如果产生FileExistsException异常则提示用户确认文件位置 
{ 
echo "程序在运行过程中发生了异常:".$e->getMessage()."\n"; 
echo "请确认文件位置。"; 
} 
catch(FileOpenException $e) //如果产生FileOpenException异常则提示用户确认文件的可读性 
{ 
echo "程序在运行过程中发生了异常:".$e->getMessage()."\n"; 
echo "请确认文件的可读性。"; 
} 
function file_open($path) 
{ 
if(!file_exists($path)) //如果文件不存在,则输出错误 
{ 
throw new FileExistsException("文件无法找到", 1); 
} 
if(!fopen($path, "r")) 
{ 
throw new FileOpenException("文件无法打开", 2); 
} 
} 
?>
<?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) 
{ 
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 相关文章推荐
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP解码unicode编码的中文字符代码分享
Aug 13 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
php中str_pad()函数用法分析
Mar 28 PHP
php 表单数据的获取代码
Mar 10 #PHP
php URL编码解码函数代码
Mar 10 #PHP
php 进度条实现代码
Mar 10 #PHP
php 表单验证实现代码
Mar 10 #PHP
php连接mysql数据库代码
Mar 10 #PHP
php执行sql语句的写法
Mar 10 #PHP
php 结果集的分页实现代码
Mar 10 #PHP
You might like
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
vue如何判断dom的class
2018/04/26 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python自动化测试实例解析
2014/09/28 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
Python中函数的返回值示例浅析
2019/08/28 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
python中的测试框架
2020/11/13 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
实习自我鉴定模板
2013/09/28 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
圣诞晚会主持词
2015/07/01 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL