php错误、异常捕获机制是不是多此一举

php的异常控制结构try....throw...catch但是这个结构好像并不能自动去捕获错误,还得再期望出错的地方用throw去手动抛出一个错误这不是多此一举么,我如... php的异常控制结构try....throw...catch
但是这个结构好像并不能自动去捕获错误,还得再期望出错的地方
用throw去手动抛出一个错误
这不是多此一举么,我如果知道哪个地方要出错,我就直接在代码中就处理
为什么还要多此一举用这个结构?
仅仅是为了将错误和内容分离么?

还是我的理解有错误,求指正
补充:
我甚至觉得,这个结构跟错误异常没有任何关系
仅仅就是执行一个简单的跳转功能而已,从try跳转到catch
如果仅仅是为了统一错误处理,用goto不是更简单
展开
 我来答
抹布_男
2014-10-11 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:66.6万
展开全部
它也有好处啊,有时候系统出错我们可以提前修改代码避免出错,但是有时候出错并不是系统问题,可能我们想让某些错误让用户知道从而避免用户提交错误数据或行为,于是可以用到throw并且可以一次性输出,而且有时候程序错误(也许不是代码错误)会显示一堆英文,用throw就能让错误提示变成你想要的
追问
如果想错误不显示英文,可以直接echo
说来说去,就一个功能,就是集中错误一起处理
而集中错误完全可以用goto
反正觉得这个结构蛮鸡肋的
匿名用户
2014-10-13
展开全部
//确实有点多此一举,给你一段代码,自己运行看看.
set_error_handler('my');
echo $a;                            //抛出一个变量未定义错误
function my($a,$b){
    echo "错误号是$a:"."<Br/>";
    echo "错误描述$b:"."<Br/>";
}
追问
其实try结构是抛异常的
异常和错误是有区别的
你给的代码捕获的是错误
我认为这才是真正有意义的错误处理
追答
应该还是有一定的意义的,只是很少用到而已.
一般使用的都是set_error_handler函数,比如thinkphp框架.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fopkbcjr
2014-10-11 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:77.8万
展开全部
实际应用中,有时在某个地方报错是完全可以忽略的时候,直接可以用这个来禁掉报错

有时排查错误,不知道在哪报错时,可以用这个,一般的框架都会有禁掉错误提示的
追问
1、用这个结构来禁掉报错是什么意思
2、排查错误,为什么会不知道在哪里报错?系统自带的错误信息不是有提示么?
能不能详细解释下,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappFrj4JRJWHfnaf
2014-10-11 · 超过29用户采纳过TA的回答
知道答主
回答量:341
采纳率:0%
帮助的人:54.6万
展开全部
报错机制是为了统一处理错误信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莘赡05V
2014-10-11 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
异常可以统一的到接受报错啊,你就不需要每个,你不停的throw错误,往下写代码,在代码最后catch一次,就会统一报错,我感觉这机制挺好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-11
展开全部
如果你知道哪个地方要出错,就不需要try catch了

如果你不确定会出错,而当运行网站的时候某个操作出现了错误,那么throw能指引你快速找到错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式