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 相关文章推荐
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
php 进度条实现代码
Mar 10 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 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
PHP学习之PHP表达式
2006/10/09 PHP
php 字符串替换的方法
2012/01/10 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
JavaScript中的Location地址对象
2008/01/16 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
js实现计时器秒表功能
2019/12/16 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
如何获取Python简单for循环索引
2019/11/21 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
Bootstrap 学习分享
2012/11/12 HTML / CSS
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
股东协议书范本
2014/04/14 职场文书
建设工地安全标语
2014/06/07 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
Python进行区间取值案例讲解
2021/08/02 Python
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
Redis+AOP+自定义注解实现限流
2022/06/28 Redis