錯(cuò)誤處理

  1. 斷言
    條件不滿(mǎn)足, 會(huì)使程序中斷,在debug時(shí)有效,release版本失效。
    //assert(1>0)
    //assert(1<0, "1 is not bigger than 0")
    //assertionFailure("wrong")

  2. 預(yù)置條件
    同斷言,預(yù)置條件 不滿(mǎn)足 會(huì)使程序中斷 release版本依然有效
    //precondition(1>0)
    //precondition(1>0, "wrong")
    //preconditionFailure(<#T##message: String##String#>)

  3. 容錯(cuò)性
    直接崩潰肯定是不好的,可以嘗試去處理錯(cuò)誤
    //try? 嘗試執(zhí)行某個(gè)方法,失敗會(huì)返回nil 使用時(shí)可以解包使用 無(wú)法去處理具體的原因
    //try! 嘗試執(zhí)行某個(gè)方法,失敗會(huì)崩潰

4.對(duì)會(huì)拋出異常的錯(cuò)誤針對(duì)性處理,可以使用異常捕獲機(jī)制
//要處理具體的原因,使用 do catch 對(duì)于會(huì)throw出異常的一般用這個(gè),一般在所有的catch之后,會(huì)默認(rèn)catch一個(gè)未知的錯(cuò)誤,這也是蘋(píng)果推薦的,因?yàn)槌讼氲降腻e(cuò)誤之外,可能有想不到的錯(cuò)誤
//do {
// try <#throwing expression#>
//} catch <#pattern#> {
// <#statements#>
//}

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

相關(guān)閱讀更多精彩內(nèi)容

  • 讓我們來(lái)看一段有問(wèn)題的代碼: 這個(gè)方法的作用是延遲一段時(shí)間之后,發(fā)送一條消息。其中第一個(gè)參數(shù)msg是要發(fā)送的消息,...
    吳晨閱讀 1,585評(píng)論 0 1
  • Swift中錯(cuò)誤處理機(jī)制很豐富,也比較容易掌握,今天就來(lái)學(xué)習(xí)一下swift中的常用錯(cuò)誤處理方式. 1. asser...
    流火緋瞳閱讀 999評(píng)論 0 0
  • 本文翻譯自Error Handling in Swift 2.0 Swift主設(shè)計(jì)師在蘋(píng)果今年的WWDC上發(fā)布Sw...
    Girl_iOS閱讀 1,354評(píng)論 0 6
  • ▲運(yùn)動(dòng)不要找任何藉口! 我們常聽(tīng)到不運(yùn)動(dòng)的藉口: 1. 我沒(méi)有時(shí)間 這真的很有趣,你一天花多少時(shí)間看電視,你看電視...
    愛(ài)笑的壞人閱讀 320評(píng)論 0 1
  • 今日,超級(jí)丹占據(jù)了所有新聞的頭條,他出軌了。開(kāi)始不愿相信,直到看見(jiàn)他的回應(yīng)。 從未發(fā)布微博的謝杏芳也在微博中說(shuō)到:...
    大白愛(ài)白話(huà)閱讀 449評(píng)論 0 0

友情鏈接更多精彩內(nèi)容