//: Playground - noun: a place where people can play
import UIKit
// 下面的三个用于调试,在真机上不起作用
assert(1>0) // 必须满足括号里面的逻辑,不然停止
assert(1>0, "Error") // 必须满足括号里面的逻辑,不然停止并报错
assertionFailure("Error!") // 直接停止并报错
// 下面的三个和assert作用一模一样,在真机上也起作用
precondition(1>0)
precondition(1>0, "Error")
fatalError("Error")
2. throw,throws,系统自带的协议Error
import UIKit
// 自动贩卖机
class VendingMachine {
struct Item {
enum ItemType: String {
case Water
case Cola
case Juice
}
let type: ItemType
let price: Int
var count: Int
}
// 继承一个错误处理的类,名字叫Error
enum ItemError: Error {
case NoSuchItem
case NotEnoughMoney(Int)
case OutOfStock
case OtherError
}
p