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 相关文章推荐
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
php文件上传的两种实现方法
Apr 04 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
PHP设计模式之命令模式示例详解
Dec 20 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
js 自制滚动条的小例子
2013/03/16 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
Koa 中的错误处理解析
2019/04/09 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
python文件与目录操作实例详解
2016/02/22 Python
python调用百度语音REST API
2018/08/30 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
python下载的库包存放路径
2020/07/27 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
2015年试用期工作总结
2014/12/12 职场文书
数学教师个人总结
2015/02/06 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL