php异常处理方法实例汇总


Posted in PHP onJune 24, 2015

本文实例讲述了php异常处理方法。分享给大家供大家参考。具体如下:

<?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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
PHP语法速查表
Jan 02 PHP
php数据库密码的找回的步骤
Jan 12 PHP
关于尾递归的使用详解
May 02 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
php实现通用的信用卡验证类
Mar 24 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 PHP
php数组索引与键值操作技巧实例分析
Jun 24 #PHP
PHP实现在线阅读PDF文件的方法
Jun 23 #PHP
php中header设置常见文件类型的content-type
Jun 23 #PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 #PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 #PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 #PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 #PHP
You might like
中国的第一台收音机
2021/03/01 无线电
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
urllib2自定义opener详解
2014/02/07 Python
python操作redis的方法
2015/07/07 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
浅谈python迭代器
2017/11/08 Python
pandas对指定列进行填充的方法
2018/04/11 Python
python实现石头剪刀布小游戏
2021/01/20 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
pytorch forward两个参数实例
2020/01/17 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
大学新生军训感言
2014/02/25 职场文书
安全协议书
2014/04/23 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
目标责任书格式范文
2015/05/11 职场文书
理解python中装饰器的作用
2021/07/21 Python
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL