感觉PHP中的try{}catch{}结构像鸡肋

引用内容 引用内容
PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内再次抛出(throw)异常。
这是PHP手册中对PHP异常处理的介绍,看起来似乎不错,我们可以像C系列语言一样使用try{}catch{}结构了。

但问题是,PHP压根就不会自己产生异常,至于是不是出了异常,仍然需要我们自己判断,如果有,需要我们自己用throw new Exception语句抛出一个异常,然后再用catch去捕获……

似乎有点没事找事的味道:本来没有麻烦,我们去自己去制造一个麻烦出来,然后再自己把麻烦解决掉。

且不说它没事找事,既然我们都知道异常了,为何却要抛一个异常出去然后再捕获?知道异常了直接提示用户是不是更好呢?

我的习惯是尽量不把WEB服务端的错误信息展示给用户,尽可能的考虑到所有可能会出现错误的地方,然后,在即将发生错误的时候,用一种友好的方式提示用户,而不是把吃果果的异常信息或者HTTP500错误页面展示给用户。


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: try
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.