困惑,使用异常处理的try语句和用if...then...else有什么本质的区别? do same thing by using different methods.just like you write a program by using C and C++if you do not use try, you should waste lots of codes on deal with the exceptions. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得是有的IF ELSE 更多的运用再业务逻辑里 而Try{}Catch{}则更多的运用在合业务逻辑 但违反系统规则的场合或者说PHP和其他系统通讯的过程中比如要INSERT一条数据到数据库 MYSQL_QUERY($INSERT_SQL)违反了某个字段的唯一约束情况A:如果DIE('XXX') 你只知道失败情况B:用MYSQL_INSERT_ID(); 没返回插入的ID 知道插入失败 但和DIE();效果差不多情况C:捕获了异常返回$e.Message(); 最少通过这个Message知道你$INSERT_SQL 这个SQL命令没拼写错误,也不用ECHO $INSERT_SQL 然后跑到数据库里运行这个SQL命令了再如文件读写 FTP上传等等符 将if...else ...做专业封装,将其专门用于异常扑获,就成了try catch 下面这个麻烦改写成if。。else看看try { 语句1 语句2 语句3 语句4 语句5 语句6 语句7 语句8 ...} catch (Exception1 $e) { 语句} catch (Exception2 $e) { 语句} catch (Exception3 $e) { 语句} catch (Exception4 $e) { 语句} catch (Exception5 $e) { 语句} catch (Exception6 $e) { 语句} throw的异常只能catch,你可以用if实现不用throw,但是如果系统函数或者别人写的函数或者类throw异常就只能catch。 在本质上他们是不同的,if else是控制语句,是控制代码的执行路径,try catch是捕捉异常,是在程序在极端条件下出错,所做的补救,不推荐相互代替。 现在又专门做网站优化的吗?什么价位 PHP 根据event动态改变网页某一部分 为什么我的mail函数不起作用!!高手指点 php密码找回的问题 全角半角。。。 mysql 5.2之后对于数字类型严格区分了? 为什么我配置出的php不能把变量的内容传过来? php如何在进入页面的时候自动刷新一次验证码 lNPM 环境搭建问题 PHP数据库问题,哪位大神给解答一下:echo 只能session显示出来,info显示不出来 php无法加载mysql php 中如何实现10分钟后运行一个函数
IF ELSE 更多的运用再业务逻辑里
而Try{}Catch{}则更多的运用在合业务逻辑 但违反系统规则的场合或者说PHP和其他系统通讯的过程中
比如要INSERT一条数据到数据库 MYSQL_QUERY($INSERT_SQL)违反了某个字段的唯一约束
情况A:如果DIE('XXX') 你只知道失败
情况B:用MYSQL_INSERT_ID(); 没返回插入的ID 知道插入失败 但和DIE();效果差不多
情况C:捕获了异常返回$e.Message(); 最少通过这个Message知道你$INSERT_SQL 这个SQL命令没拼写错误,也不用ECHO $INSERT_SQL 然后跑到数据库里运行这个SQL命令了
再如文件读写 FTP上传等等符
语句1
语句2
语句3
语句4
语句5
语句6
语句7
语句8
...
} catch (Exception1 $e) {
语句
} catch (Exception2 $e) {
语句
} catch (Exception3 $e) {
语句
} catch (Exception4 $e) {
语句
} catch (Exception5 $e) {
语句
} catch (Exception6 $e) {
语句
}