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)