swift do-try-catch語法學習

完整的do-try-catch錯誤處理模式的語法如下:

do {

??? try 語句

???? 成功處理語句組

} catch 匹配錯誤 {

??? 錯誤處理語句組

}

在try 語句中可以產生錯誤,當然也可能不會產生錯誤,如果有錯誤發(fā)生,catch就會處理錯誤。catch代碼塊可以有多個,錯誤由哪個catch代碼塊處理是由catch后面的錯誤匹配與否而定的。錯誤類型的多少就決定了catch可以有多少。


例一

import Foundation

do {

//要做一些操作

let str = try NSString(contentsOfFile: filePath,?encoding:?? NSUTF8StringEncoding)//要嘗試做的事情

} catch let err as NSError {//如果失敗則進入catch代碼塊

err.description

}

do-try-catch這種錯誤模式與Java中異常處理機制非常類似,本意就是嘗試(try)做一件事情,如果失敗則捕獲(catch)處理。

二,錯誤類型

在Swift中錯誤類型必須遵從ErrorType 協(xié)議,其次考慮到錯誤類型的匹配,它應該被設計成為枚舉類型,枚舉類型非常適合將一組相關值關聯(lián)起來。

如果我們編寫訪問數據庫表程序,實現對表數據插入、刪除、修改和查詢等操作,我們會需要類似如下代碼的錯誤類型:

enum DAOError: ErrorType {

case NoData

case PrimaryKeyNull

}

NoData表示沒有數據情況,PrimaryKeyNull表示表的主鍵(Primary Key)為空情況。

那么我們就可以通過如下代碼捕獲錯誤。

do {

//try 訪問數據表函數或方法

} catch DAOError.NoData {

print("沒有數據。")

} catch DAOError.PrimaryKeyNull {

print("主鍵為空。")

}

原出處:鏈接?



最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 一. Java基礎部分.................................................
    wy_sure閱讀 4,017評論 0 11
  • 1、范型范型所解決的問題 函數、方法、類型:類,結構體,枚舉,元組類型,協(xié)議參數,返回值,成員函數參數,成員屬性類...
    我是小胡胡123閱讀 943評論 0 1
  • 清秋季 季節(jié)的審判,從未停下,這渺茫的歲月呵,又會如何。 霜色流光,梧桐稀雨霏霏 葉入夢來,...
    枝吹閱讀 520評論 0 0
  • 如果水果也可人物化,牛油果應該是一位木訥憨厚的大叔。和櫻桃、葡萄這些有著艷麗外表的“小妖精”們不同,它的外表平淡得...
    查小姐的小花園閱讀 2,531評論 0 0

友情鏈接更多精彩內容