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的控制语句
Oct 09 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Mar 03 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
php5与php7的区别点总结
Oct 11 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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/10/03 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
Python中的pack和unpack的使用
2018/03/12 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Python matplotlib可视化实例解析
2020/06/01 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
投标承诺函范文
2015/01/21 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
JavaScript 定时器详情
2021/11/11 Javascript