php 错误处理与异常处理方法与实例教程
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-11 13:47:12 浏览: 评论:0
在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在php开发中,错误处理函数并且举例说明错误处理的重要性。
1、内置异常处理类、2、捕获并处理异常的示例、3、exception类的成员函数getmessage()、4、exception类的成员函数getfile()、5、exception类的成员函数getline()、6、显示警告或错误信息、7、自定义错误处理函数。
1,内置异常处理类
- class exception
- {
- protected $message = 'unknown exception'; // 异常信息
- protected $code = 0; // 用户自定义异常代码
- protected $file; // 发生异常的文件名
- protected $line; // 发生异常的代码行号
- function __construct($message = null, $code = 0);
- final function getmessage(); // 返回异常信息
- final function getcode(); // 返回异常代码
- final function getfile(); // 返回发生异常的文件名
- final function getline(); // 返回发生异常的代码行号
- final function gettrace(); // backtrace() 数组
- final function gettraceasstring(); // 已格成化成字符串的 gettrace() 信息
- function __tostring(); // 可输出的字符串
- }
2、捕获并处理异常的示例
- try
- {
- $error = '抛出异常信息,并且跳出try块<br/>';
- if(is_dir('./test'))
- {
- echo '检测到../ch16是一个目录';
- echo '<br/>';
- echo '可能继续做其他一些操作';
- echo '<br/>';
- echo '....';
- echo '<br/>';
- }
- else
- {
- throw new exception($error,12345);
- }
- echo '上面throw异常的话,这行代码不会执行,转而执行catch块<br/>';
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage() . "<br/>错误代码:" . $e->getcode().'<br/>'; //显示$error和123456
- echo '<br/>';
- }
- echo '继续执行';
3、exception类的成员函数getmessage()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
- //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
- throw new exception('未找到该目录或文件');
- }
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage();
- echo '<br/>===============================';
- echo '<br/>';
- }
- echo '程序执行完毕';
4、exception类的成员函数getfile()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
- //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
- throw new exception('未找到该目录或文件');
- }
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage();
- echo '<br/><br/>';
- echo '错误所在文件:'. $e->getfile();
- echo '<br/>===============================';
- echo '<br/>';
- }
- echo '程序执行完毕';
5、exception类的成员函数getline()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
- //创建异常对象,错误信息将有exception类的成员函数getmessage()返回
- throw new exception('未找到该目录或文件');
- }
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage();
- echo '<br/><br/>';
- echo '错误所在文件:'. $e->getfile();
- echo '<br/><br/>';
- echo '错误所在行号:'. $e->getline();
- echo '<br/>===============================';
- echo '<br/>';
- }
- echo '程序执行完毕';
6、显示警告或错误信息
- error_reporting(e_warning | e_error); //显示警告和错误信息
- echo $uvar; //这里产生注意信息,但不会显示出来
- callfunc(); //这里产生一个致命错误,并且会显示出来
- // 7、自定义错误处理函数。
- set_error_handler('myhandler'); //自定义错误处理函数
- function myhandler($code, $msg, $file, $line)
- {
- echo "<br/>";
- echo "程序 <b>$file</b> 执行过程中,在第 <b>$line</b> 行,产生一个错误。";
- echo "<br/>";
- echo "错误代码为:<b>$code</b>, 错误的原因是: <b>$msg</b>";
- }
- echo $uvar;
Tags: 错误 处理 异常
- 上一篇:php+mysql+js实现树形菜单代码
- 下一篇:php 判断用户是否登录
相关文章
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·用--with-apxs来编译PHP时,我得到了奇怪的错误信息(2013-11-27)
- ·php 错误报告开启详细实现(2013-11-29)
- ·PHP程序员常犯的11个错误(2013-11-29)
- ·php 错误屏蔽 error_reporting详解(2013-11-29)
- ·php异常错误处理机制与错误处理(2013-12-02)
- ·Notice:undefined index ..错误提示解决方法(2013-12-02)
- ·linux中phpMyAdmin错误提示Wrong permissions on configuration file, should no(2013-12-02)
- ·php错误提示:Call-time pass-by-reference has been deprecated(2013-12-04)
- ·php header 404错误包含文件出现乱码(2013-12-04)
- ·firefox提示:内容编码错误 无法显示您尝试查看的页面(2013-12-04)
- ·关闭PHP错误脚本提示的详解(2013-12-04)
- ·如何正确理解 PHP 的错误信息(2013-12-08)
- ·PHP关闭Notice错误提示(2014-01-03)
- ·php 关闭错误提示方法总结与性能分析(2014-01-03)
- ·PHP错误Deprecated: Assigning the return value of new(2014-01-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)