php为啥使用try,php – 何时使用Try Catch块

It seems to me that this topic is very strange and confused. Could someone lights me up?

绝对。我不是一个PHP用户,但我可能有一个小见解在try / catch在ActionScript,Java和JavaScript。记住,不同的语言和平台鼓励try / catch的不同用法。那说…

我唯一推荐使用try / catch的时候是,如果你使用的是本地语言函数

>可以抛出一个错误/异常

>不给你任何工具来检测你是否会做一些愚蠢的,会导致错误/异常。例如:在ActionScript中,关闭未打开的加载程序将导致错误,但加载程序没有检查isOpen属性,因此您必须将其包装在try / catch中,否则将导致完全无意义的错误。

>错误/异常真的没有意义。

让我们来看看你列出的例子,看看它们与那个列表是否一致。

I read someone saying that we should use try-catch blocks only to prevent fatal errors.

在AS的loader.close()函数的情况下,这是好建议。这是一个致命的错误,所有从一个否则微不足道的错误。另一方面,AS中的几乎所有错误将使您的应用程序停止。你会把它们全部在try / catch吗?绝对不! “致命错误”是致命的原因。这意味着发生了一些严重的错误,并且应用程序继续在潜在的“未定义”状态是愚蠢的。最好知道一个错误发生,然后修复它,而不是只是让它去。

I read someone else saying that we should use it only on unexpected errors

这甚至更糟。那些是假设你不想沉默的错误,因为沉默它们意味着你永远不会找到他们。也许你不是吞下他们,虽然…也许你正在记录他们。但是为什么你会尝试/ catch / log / continue,就像没有发生什么,允许程序在潜在的危险和意想不到的情况下运行?只是让错误踢你的牙齿,然后解决它。比起试图调试某个程序中错误的东西,别人写的更容易,因为他们在try / catch块中包装了所有东西,然后忽略日志。

Others simply say that try-catch blocks should be used everywhere because they can be also extended (extending the Exception class).

这有潜在的优点,如果你是一个抛出,你试图提醒自己你的程序中的一个特殊情况…但为什么尝试/捕获自己的抛出错误?让它踢你的牙齿,然后修复它,使您不再需要抛出错误了。

Finally someone says that PHP try-catch block are totally useless because they are very bad implemented. (On this i find a nice SO question about performance).

也许是这样。我不能回答这一个。

所以…这可能是一个宗教问题,我确定人们会不同意我,但从我的特殊优势点,这些是我多年来学习的关于try / catch的经验教训。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值