1 表示并抛出错误:
错误用通过符合ErrorType协议的类型的值来表示,通过throw抛出一个错误
2 处理错误:四种方式处理错误
1)通过抛出错误将处理错误放置到调用该方法的地方处理
此方法抛出错误,在需要调用的地方处理错误
func lastEmement(array: [Int]) throws -> Element {
guard array == nil || (array != nil && array.count == 0) {
throw ErrorType
}
guard var element: Int = array.lastElement() else {
throw ErrorType
}
}
func getLastElement() {
try lastElement() // 此处抛出的错误将继续传递下去
}
2)通过 do-catch 处理错误
3)将错误作为可选类型处理
4)断言此错误不可能发生
let var error = try! someThrowFunc()
3 指定清理操作(defer): 使用defer语句在即将离开当前代码块时执行一系列语句, 此语句不管是何种原因退出break、return或者发生错误等都将执行