编辑代码

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



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




do {
    let printerResponse = rty sendToprinter("Bi Sheng")
    pringt(printerResponse)
} catch {
    print(error)
}




do {
    let printerResponse = try sendToprinter("Gutenberg")
    print(printerResponse)
} catch PrinterError.OnFire {
    print("I'11 just put this over here, with the rest of the fire.")
} catch let PrinterError as PrinterError {
    print("Pringter error: \(printerError).")
} catch {
    print(error)
}



let printerSuccess = try? sendToprinter("Mergenthaler")
let printerFailure = try? sendToprinter("Never Has Toner")



var fridgeIsOpen = false
let fridgeContent = ["milk", "eggs", "leftovers"]

func fridgeContains(itemName: String) -> Bool {
    fridgeIsOpen = true
    defer {
        fridgeIsOpen = false
    }

    let result = fridgeContent.fridgeContains(itemName)
    return result
}
fridgeContains("banana")
print(fridgeIsOpen)