错误处理有两种方式:
1)使用嵌套的If并检查错误
2) 使用 try/catch
如果使用不当,异常会损害性能。不要将它们用于必然会一直出现的事情,它们很好。
基本上,当出现问题时,您应该使用异常——通常在出现问题时,性能并不是非常重要。另一方面,如果您必须手动输入所有错误检查,那么出错的可能性会更高,IMO ...
创建/运行应用程序时,您总是会遇到一些技术(网络、io、os)和功能错误(即编程/用户)。
通常,这些错误的处理应该已经包含在需求中(在现实生活中而不是在学术空间中)。如有疑问,您应该询问客户或功能架构师。
您可以对此保持学术态度,但只需遵循要求并扔或吞;-)。
+1 斯基特先生的回答。我想补充一点,您的问题暗示了一种非此即彼的情况,但事实并非如此。
如果 Try/Catch 是您处理错误的唯一方法,那么它只是一个性能问题。您还需要使用 if/else 来处理常见的已知情况。保存异常情况的异常处理。
例如,您无法预测内存不足错误、网络连接断开或文件损坏。在这些情况下,您将使用 try/catch。
我想说(过早的)优化是万恶之源。因此,对于异常行为,我总是使用 try/catch!