在try catch块中覆盖我的代码的每一行

时间:2017-06-26 12:07:21

标签: ios iphone swift exception try-catch

我的任务是在我的应用程序中实现错误处理 - 必须检查代码的每一行以进行错误处理。我的朋友(拥有Java背景)建议我将每个方法定义放在try-catch块中;在Swift中不可能。我们可以尝试仅针对那些 throwable 的方法。所以我需要将我的所有方法转换为throwable,如果是这样,我将如何捕获我不知道的异常,因为这是我们的目标。 那么如何在错误处理中覆盖整个项目?

此外,我也怀疑Swift检查

的事实
  

“致命错误:意外发现 nil'异常阵列输出   约束异常

请帮助我完成这个!

1 个答案:

答案 0 :(得分:1)

是的,你只能抓住可能引发错误的东西。但是,没有必要捕获每一行代码。如果您只是创建变量并分配一些值,则不应该有例外。此外,在您的代码中,如果发生某些异常,其余代码不应运行,这一点大多都是正确的。在这种情况下,您只需要一个很大的尝试catch并在异常处理块出错时通知用户。

Swift不检查强制解包或索引超出范围。它为您提供了使用guard letif let检查nil和索引的方法,但您负责此检查。