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 文件上传模型,支持多文件上传
Aug 13 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
初识PHP
Sep 28 PHP
PHP基于CURL进行POST数据上传实例
Nov 10 PHP
php中fsockopen用法实例
Jan 05 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
laravel5.1框架model类查询的实现方法
Oct 08 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP实现的简单缓存类
2015/07/29 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
python备份文件的脚本
2008/08/11 Python
Python线程的两种编程方式
2015/04/14 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
python的sys.path模块路径添加方式
2020/03/09 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
什么是事务?事务有哪些性质?
2012/03/11 面试题
大学生饮食配送创业计划书
2014/01/04 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript