如题
我的理解是异常其实是捕捉运行时会影响流程的错误
举个例子 在读写文件前肯定需要先if判断文件是否存在 然后再进行读写 这个就是正常流程
但是在这个流程中会不会有异常情况呢 进行到读写步骤的时候 文件突然被删除或其他不明情况导致正常流程之行不下去的时候 该怎么应对处理 这里就要靠异常捕捉了
不是搞php的也来凑个热闹,if不处理错误就会忽略,异常不补获无法忽略。而且大量if错误处理代码,代码很难看模糊了代码意图。
好像有点开窍了,能不能举个实际的栗子说明一下呢,麻烦了,就差临门一脚了
回复class db{ public function getList($number) { if(empty($number)){ throw new Exception("数字不能为空"); } return true; } }
回复@xinson : try{ $db = new db(); }catch(Exception $e){ echo $e->getMessage(); }
回复@xinson : /大拇指
if只能判断函数方法的返回。try catch thorw 是抓函数方法的错误。类内部报错一般是以return,或者throw方式,和if没关系。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
我的理解是异常其实是捕捉运行时会影响流程的错误
举个例子 在读写文件前肯定需要先if判断文件是否存在 然后再进行读写 这个就是正常流程
但是在这个流程中会不会有异常情况呢 进行到读写步骤的时候 文件突然被删除或其他不明情况导致正常流程之行不下去的时候 该怎么应对处理 这里就要靠异常捕捉了
不是搞php的也来凑个热闹,if不处理错误就会忽略,异常不补获无法忽略。而且大量if错误处理代码,代码很难看模糊了代码意图。
好像有点开窍了,能不能举个实际的栗子说明一下呢,麻烦了,就差临门一脚了
回复
class db{ public function getList($number) { if(empty($number)){ throw new Exception("数字不能为空"); } return true; } }
回复
@xinson : try{ $db = new db(); }catch(Exception $e){ echo $e->getMessage(); }
回复
@xinson : /大拇指
if只能判断函数方法的返回。try catch thorw 是抓函数方法的错误。类内部报错一般是以return,或者throw方式,和if没关系。