1 表示并拋出錯誤:
錯誤用通過符合ErrorType協(xié)議的類型的值來表示,通過throw拋出一個錯誤
2 處理錯誤:四種方式處理錯誤
1)通過拋出錯誤將處理錯誤放置到調(diào)用該方法的地方處理
此方法拋出錯誤朱转,在需要調(diào)用的地方處理錯誤
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() // 此處拋出的錯誤將繼續(xù)傳遞下去
}
2)通過 do-catch 處理錯誤
3)將錯誤作為可選類型處理
4)斷言此錯誤不可能發(fā)生
let var error = try! someThrowFunc()
3 指定清理操作(defer): 使用defer語句在即將離開當(dāng)前代碼塊時執(zhí)行一系列語句进倍, 此語句不管是何種原因退出break谓传、return或者發(fā)生錯誤等都將執(zhí)行