php中error与exception的区别及应用


Posted in PHP onJuly 28, 2014

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 相关文章推荐
php字符串截取问题
Nov 28 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 PHP
php上传文件常见问题总结
Feb 03 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
浅析get与post的一些特殊情况
Jul 28 #PHP
thinkphp学习笔记之多表查询
Jul 28 #PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 #PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 #PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 #PHP
PHP实现多图片上传类实例
Jul 26 #PHP
PHP判断文章里是否有图片的简单方法
Jul 26 #PHP
You might like
PHP - Html Transfer Code
2006/10/09 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
php笔记之:AOP的应用
2013/04/24 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
一个javascript参数的小问题
2008/03/02 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
python自动安装pip
2014/04/24 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python操作csv文件实例详解
2017/07/31 Python
Python实现学校管理系统
2018/01/11 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python内置数据类型之列表操作
2018/11/12 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
医学专业大学生职业生涯规划书
2014/10/25 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
MySQL 数据库范式化设计理论
2022/04/22 MySQL
Java 定时任务技术趋势简介
2022/05/04 Java/Android