小编emr*_*yar的帖子

在Swift中捕获默认错误

我正在尝试学习Swift,并想知道苹果对下面实验的预期答案,该实验在苹果公司GuidedTour游乐场的“ 错误处理”部分中提供,如下所示;

实验:添加代码以在do块内引发错误。您需要引发哪种错误,以便第一个catch块可以处理该错误?那第二块和第三块呢?

enum PrinterError: ErrorType {
    case OutOfPaper
    case NoToner
    case OnFire
}

func sendToPrinter(printerName: String) throws -> String {
    if printerName == "Never Has Toner" {
        throw PrinterError.NoToner
    }
    return "Job sent"
}

do {
    let printerResponse = try sendToPrinter("Gutenberg")
    print(printerResponse)
} catch PrinterError.OnFire {
    print("I'll just put this over here, with the rest of the fire.")
} catch let printerError as PrinterError {
    print("Printer error: \(printerError).")
} catch {
    print(error)
}
Run Code Online (Sandbox Code Playgroud)

以下是我对本实验中提出的问题的回答,它们似乎都可以起作用...

您需要引发哪种错误,以便第一个catch块可以处理该错误? …

exception try-catch throw ios swift

5
推荐指数
1
解决办法
1781
查看次数

标签 统计

exception ×1

ios ×1

swift ×1

throw ×1

try-catch ×1