何时使用Try Catch块

何时使用Try Catch块,第1张

何时使用Try Catch块

在我看来,这个话题非常奇怪和困惑。有人可以照亮我吗?

绝对是 我不是PHP用户,但是在Actionscript,Java和Javascript中使用try /
catch后,可能会有所了解。但是请记住,不同的语言和平台会鼓励尝试/捕获的不同用法。那个…

我唯一建议使用try / catch的情况是,如果您使用的是

  1. 会抛出错误/异常
  2. 没有提供任何工具来检测您是否会做一些愚蠢的事情来导致该错误/异常。例如:在Actionscript中,关闭未打开的加载器会导致错误,但该加载器没有isOpen属性要检查,因此您不得不将其包装在try / catch中,以使本来完全没有意义的错误静音。
  3. 错误/异常 确实 毫无意义。

让我们以列出的示例为例,看看它们如何与该列表相符。

我读过有人说我们应该仅使用try-catch块来防止致命错误

对于AS的loader.close()函数,这是一个很好的建议。这是一个致命的错误,而所有其他错误都是由于这种错误而造成的。另一方面,AS中几乎所有的错误都会使您的应用程序停止。然后将它们全部包装在try
/
catch中吗?绝对不!由于某种原因,“致命错误”是致命的。这意味着发生了非常严重的错误,并且应用程序在潜在的“未定义”状态下继续运行非常困难。最好知道发生了一个错误然后再解决它,而不是随它去。

我读过别人的话说,我们应该只在意外错误时使用它

更糟的是。这些通常是您不想消除的错误,因为使它们静音意味着您永远不会找到它们。也许您没有吞下它们,但是…可能正在记录它们。但是,为什么您会尝试/捕获/记录/继续,好像什么都没发生一样,从而使程序在潜在的危险和意外情况下运行?只需让错误让您大吃一惊,然后修复它即可。除了尝试调试别人编写的程序中的错误之外,没有其他比这更令人沮丧的了,因为他们将所有内容包装在try
/ catch块中,然后被忽略记录。

其他人只是说try-catch块应该在任何地方使用,因为它们也可以扩展(扩展Exception类)。

如果您是一个正在抛出的人,并且您正试图提醒自己程序中的异常情况,那么这可能有好处。但是为什么要尝试/捕获自己的抛出错误呢?让它踢您的牙齿,然后修复它,这样您就不再需要抛出错误了。

最后有人说PHP try-catch块完全没有用,因为它们实现起来很糟糕。(对此,我发现了一个关于性能的很好的SO问题)。

可能是吧。我不能回答这个。

所以…这可能是一个宗教问题,我敢肯定有人会不同意我的观点,但是从我的角度出发,这些是我多年来尝试/捕获的经验教训。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5065159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存