PHP异常处理
2015-08-12 15:28
591 查看
PHP的基本异常类,它提供一个不带参数的默认构造函数,一个带有两个可选参数的重载构造函数,还包括6个方法。
1.默认构造函数
getCode()。返回传递给构造函数的错误代码
getFile()。返回抛出异常的文件名
getLine()。返回抛出异常的行号
getMessage()。返回传递给构造函数的消息
getPrevious()。返回前一个异常(假设已经通过异常构造函数传入)
getTrace()。返回一个数组,其中包括出现错误的上下文的相关信息。确切的讲,该数组包括文件名,行号,函数名和函数参数
getTraceAsString()。返回与getTrace()完全相同的信息,只是返回的信息是一个字符串不是数组。
注:虽然可以扩展异常基类,但不能覆盖之前的任何一个方法,因为他们都声明为final
2.扩展异常类
1.默认构造函数
throw new Exception();
getCode()。返回传递给构造函数的错误代码
getFile()。返回抛出异常的文件名
getLine()。返回抛出异常的行号
getMessage()。返回传递给构造函数的消息
getPrevious()。返回前一个异常(假设已经通过异常构造函数传入)
throw new Exception("Something bad just happened",4,$e);
getTrace()。返回一个数组,其中包括出现错误的上下文的相关信息。确切的讲,该数组包括文件名,行号,函数名和函数参数
getTraceAsString()。返回与getTrace()完全相同的信息,只是返回的信息是一个字符串不是数组。
注:虽然可以扩展异常基类,但不能覆盖之前的任何一个方法,因为他们都声明为final
try{ $fh = fopen("con.txt","r"); if(!$fh){ throw new Exception("Could not open the file!"); } }catch(Exception $e){ echo "Error (File: ".$e->getFile().", line ".$e->getLine(). "):".$e->getMessage(); }
2.扩展异常类
class MyException extemds Exception{ function __construct($language,$errorcode){ $this->language = $language; $this->errorcode = $errorcode; } function getMessageMap(){ $errors = file("errors/".$this->language.".txt"); foreach($errors as $error){ list($key,$value) = explode(",",$error,2); $errorArray[$key] = $value; } return $errorArray[$this->errorcode]; } } try{ throw new MyException("english",4); }catch(MyException $e){ echo $e->getMessageMap(); }
相关文章推荐
- php-单例模式实现mysql实例化对象
- Post data using ajax in laravel 5
- php之curl学习
- wamp环境下phpmyadmin拒绝访问
- php数组学习之in_array() 函数查找数组中是否存在某个值
- phpcms常用函数
- thinkPHP 中去除URL中的index.php
- PHP 5.3以上版本推荐使用mysqlnd驱动
- PHP_PHP统计图插件-libchart
- thinkphp 验证码的使用
- 基于PHP QR Code生成带不失真logo二维码
- PHP_PHP开发框架-opencart
- PHP_PHP开发框架-codeigniter
- PHP_PHP开发框架-Phalcon
- PHP_PHP开发框架-Symfony
- PHP_PHP开发框架-Laravel
- 使用ThinkPHP框架快速搭建网站
- PHP_PHP操作Powerpoint-PHPPowerPoint
- PHP-PHP操作Excel-php-excel-reader
- PHP_PHP操作Word-PHPWord