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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
一个简单计数器的源代码
Oct 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
Laravel实现用户注册和登录
Jan 23 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
Laravel 实现密码重置功能
Feb 23 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
Python3中使用PyMongo的方法详解
2017/07/28 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
python实现贪吃蛇小游戏
2020/03/21 Python
Python子类继承父类构造函数详解
2019/02/19 Python
详解Python学习之安装pandas
2019/04/16 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
python socket 聊天室实例代码详解
2019/11/14 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
最新计算机专业自荐信
2013/10/16 职场文书
教师岗位职责
2013/11/17 职场文书
八年级音乐教学反思
2014/01/09 职场文书
入党自荐书范文
2014/03/09 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
区域经理岗位职责
2015/02/02 职场文书
工会文体活动总结
2015/05/07 职场文书