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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php类自动加载器实现方法
Jul 28 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
PHP网络操作函数汇总
2015/05/18 PHP
浅谈php提交form表单
2015/07/01 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
PHP守护进程实例
2015/03/06 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
详解Python用户登录接口的方法
2019/04/17 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
2014年机关作风建设工作总结
2014/10/23 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
环保建议书作文400字
2015/09/14 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书