php中error与exception的区别及应用

2015-01-24信息快讯网

这篇文章主要介绍了php中error与exception的区别及应用,需要的朋友可以参考下

error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多

java中的Object继承结构如下:

Object---->Throwable--------> Exception ----> RuntimeException | Error
Error都是unchecked类型 Exception分为checked 与 unchecked类型
且把异常与错误都当作程序运行不正常的现象来看待

如果区分异常与错误的话:
异常:非致命的。try{}catche(Exception e){} 执行中的try模块是测试运行,代码在运行过程中出现错误(非致命错误)执行catche
异常的作用类似于下面的这些代码:

if(mysql_connect('127.0.0.1','root','321321'))
{
   echo '连接数据库成功';
   // other code...
}
else
{
   echo '连接数据库错误';
   return false;
}

使用异常处理的情况可以很轻松的处理异常情况。如下面的代码可以一次性处理很多的异常情况

try
{
    mysql_connect('127.0.0.1','root','321321');
    // other code you want to execute
}catche(Exception $e){
    print_r($e);
}

错误致命的。一般都是程序语法错误或者用户级别的提示错误

错误与异常中都分为 checked与unchecked
checked 是可以让用户处理的,unchecked是不能被处理的
php中 Exception ,用户级别的错误可被用户处理 (client code) 其他的错误是不能被用户处理的
此外,java中还有个 RuntimeException 是不能被用户处理的。这个是运行级别的异常

php使用pdo连接报错Connection failed SQLSTATE的解决方法
php自定文件保存session的方法
php通过session防url攻击方法
Dwz与thinkphp整合下的数据导出到Excel实例
Yii框架获取当前controlle和action对应id的方法
php递归json类实例
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
PHP中SimpleXML函数用法分析
PHP中substr()与explode()函数用法分析
php使用function_exists判断函数可用的方法
php中time()与$_SERVER[REQUEST_TIME]用法区别
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
set_exception_handler函数在ThinkPHP中的用法
php的mkdir()函数创建文件夹比较安全的权限设置方法
浅析get与post的一些特殊情况
PHP中file_exists函数不支持中文名的解决方法
Codeigniter框架的更新事务(transaction)BUG及解决方法
ThinkPHP实现将SESSION存入MYSQL的方法
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
ThinkPHP关于session的操作方法汇总
php中实现精确设置session过期时间的方法
mantis安装、配置和使用中的问题小结
PHP实现显示照片exif信息的方法
PHP的error_reporting错误级别变量对照表
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
浅析application/x-www-form-urlencoded和multipart/form-data的区别
php的SimpleXML方法读写XML接口文件实例解析
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
©2014-2024 dbsqp.com