0

0

大家对PHP的异常是什么态度

php中文网

php中文网

发布时间:2016-06-06 20:51:20

|

1072人浏览过

|

来源于php中文网

原创

如题,大家是否会使用php的异常,如何使用

网上一些文章,都是介绍语法,没有分享如何真正用好PHP的异常的.

网人信息发布系统(WRMPS) 2008 SP2 build 0718
网人信息发布系统(WRMPS) 2008 SP2 build 0718

因为这几个版本主要以系统的运行稳定着想, 所以在功能方面并没什么大的改进,主要是对系统的优化,及一些BUG或者不太人性化的地方修改,此次版本在速度上较上版本有了50%左右的提升。WRMPS 2008 SP2 升级功能说明1,新增伪静态功能2,新增全屏分类广告功能3,新增地区分站代理功能!4,新增分站独立顶级域名支持5,新增友情连接支持分城市功能6,新增支持百度新闻规范7,新增自由设置关键词及网页

下载

立即学习PHP免费学习笔记(深入)”;

感觉PHP的异常机制不如C++/Java等的好用.

回复内容:

如题,大家是否会使用php的异常,如何使用

网上一些文章,都是介绍语法,没有分享如何真正用好PHP的异常的.

立即学习PHP免费学习笔记(深入)”;

感觉PHP的异常机制不如C++/Java等的好用.

由于历史原因PHP很多内置函数都是没有异常,而是通过返回false/-1之类的来表达异常,导致开发者也习惯于采用返回值而非异常来区分(而且php函数的返回值和数组都是那么灵活)


说完不采用异常的理由(虽然没有说全),再来说说为什么异常还是值得使用的。首先需要说明的是,仅考虑语法方面,最新版本的PHP的异常,已经和JAVA等没有区别了。
1. 更丰富的错误信息。使用false/-1之类的返回值,只能让我们知道发生了异常,但不能知道发生了什么异常。即使通过给不同的异常返回不同的状态码,依然不如异常类直观。我们可以通过异常本身的类名来判断是什么异常,通过异常类的message来保存更详细的解释说明,最重要的是,我们可以通过异常的错误栈来判断是哪个文件第几行什么函数发生了问题,谁去调用的它
2. 保证调用者处理异常。如果你的函数返回的是普通的值,可能出于疏忽,也有可能出于版本兼容问题(调用者根据你的老版本的函数进行开发,而你在新版本的函数里有了新的错误状态码)等情况,调用者忽略了你所返回的错误,那可能造成整个程序存在一些难以发现源头的问题。而异常则保证了调用者必须去处理
3. 使你的代码逻辑更清晰。设想如果没有finally,针对每次返回都检测异常,并且在每个异常后写一遍释放资源是多么蛋疼的事情。

我自己写的框架是通过捕捉异常来显示错误页面的,其他地方我倒是基本不用异常。

try {
    require_once($some_file_path);
} catch(exception $e) {
    $smarty->assign("error", $e->getMessage());
    $smarty->display("error.tpl");
}

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

15

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号