【问题标题】:Cover each line of my code in try catch block在 try catch 块中覆盖我的每一行代码
【发布时间】:2017-11-29 06:32:49
【问题描述】:

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

此外,我也怀疑 Swift 是否会检查

“致命错误:意外发现nil'异常数组输出 绑定异常

请帮我解决这个问题!

【问题讨论】:

    标签: ios iphone swift exception try-catch


    【解决方案1】:

    是的,您只能捕获可能引发错误的内容。但是,没有必要捕获每一行代码。如果您只是创建一个变量并分配一些值,则不应有例外。此外,在您的代码中,如果发生异常,其余代码不应该运行,这几乎是真的。在这种情况下,您只需要一个大的 try catch 并在异常处理块出错时通知用户。

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

    【讨论】:

    • 好吧,我必须说 Swift 为非常理想的场景编码,而这在实际编码中不会发生。必须规定将代码块放在一些 try catch 中,而不是只放在用户认为可能抛出的方法上。开发人员有时可能没有考虑可能发生的场景,而此时 try catch 来救援。
    • @Akaanksha 当然,是的,您可以这样做并捕获所有异常。你知道 try catch 语法是如何工作的吧?
    • 是的,我愿意。我正在搜索类似于 java 或 .net 的 try 块的东西,它可以捕获所有异常,而不管方法是否抛出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多