Swift应用在发生错误后停止运行

时间:2018-06-19 17:12:01

标签: ios swift

发生运行时错误后,我的iOS应用停止运行。我正在捕获该错误作为例外。我希望该应用在错误处理后能够继续运行至下一步。任何建议如何做?

$ diskutil list disk2
/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.1 GB    disk2
   1:                 DOS_FAT_32 EVERIO_SD               16.1 GB    disk2s1

1 个答案:

答案 0 :(得分:1)

我认为您在这里过度使用了!(强制展开)符号。它不能很好地处理nil值,实际上,它崩溃了。

我认为您可能想在这里做

guard
    let ps: Element = try? doc.getElementById("product-name"),
    let ide = try? ps.text()
    else {
    print("error")
    ide = ""
}
// ide is guaranteed to be valid here
...

请注意,如果您使用try?,则无需“捕获”错误,如果调用会引发异常,它将仅返回一个可选值nil


或者,您可以简单地

let ps: Element = try? doc.getElementById("product-name")
let ide = try? ps?.text()
// ide will be an optional value here

如果您真的不想guard / if let ...