10 -- 關(guān)于NSError

一個老外的博客:
https://www.bignerdranch.com/blog/error-handling-in-swift-2/
摘要:
A

 NS_DURING
*// Call a dangerous method or function that raises an           exception:*
 [obj **someRiskyMethod**];
NS_HANDLER
NSLog(@"Oh no!");
[anotherObj **makeItRight**];
NS_ENDHANDLER

B

**-** (**void**)someRiskyMethod
{
[NSException **raise**:@"Kablam"
            **format**:@"This method is not implemented yet. Do     not call!"];
}

C

**@try** {
[obj **someRiskyMethod**];
}
**@catch** (SomeClass *****exception) {
*// Handle the error.*
*// Can use the exception object to gather information.*
}
**@catch** (SomeOtherClass *****exception) {
*// ...*
}

D

**@catch** (id allTheRest) {
*// ...*
}
**@finally** {
*// Code that is executed whether an exception is thrown or not.*
*// Use for cleanup.*
}

E

*// A local variable to store an error object if one comes back:*
**var** error: **NSError**?
*// success is a Bool:*
**let** success **=** someString**.****writeToURL**(someURL,
                                atomically: **true**,
                                encoding: **NSUTF8StringEncoding**,
                                error: **&**error)
**if** **!**success {
*// Log information about the error:*
**println**("Error writing to URL: \(error**!**)")
}

  **enum** **AwfulError**: **ErrorType** {
  **case** **Bad**
  **case** **Worse**
  **case** **Terrible**

}

F

func  doDangerousStuff () throws ->SomeObject {
*// If something bad happens throw the error:*
throw  AwfulError Bad

*// If something worse happens, throw another error: *
throw **AwfulError****.****Worse**

*// If something terrible happens, you know what to do: *
throw **AwfulError****.****Terrible**

*// If you made it here, you can return:*
**return** **SomeObject**()
}

G

**do** {
**let** theResult **=** try obj**.****doDangerousStuff**()
}
catch **AwfulError****.****Bad** {
*// Deal with badness.*
}
catch **AwfulError****.****Worse** {
*// Deal with worseness.*
}
catch **AwfulError****.****Terrible** {
*// Deal with terribleness.*
}
catch **ErrorType** {
*// Unexpected error!*
}

H

let** theResult **=** try**!** obj**.****doDangerousStuff**()`

convenience **init**(contentsOfFile path: **String**,
             encoding enc: **UInt**) throws
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灯抛,隨后出現(xiàn)的幾起案子撕蔼,更是在濱河造成了極大的恐慌和屎,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澡刹,死亡現(xiàn)場離奇詭異赁项,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)温治,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戒悠,“玉大人熬荆,你說我怎么就攤上這事〕窈” “怎么了卤恳?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寒矿。 經(jīng)常有香客問我突琳,道長,這世上最難降的妖魔是什么符相? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任拆融,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冠息。我一直安慰自己挪凑,他們只是感情好孕索,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布逛艰。 她就那樣靜靜地躺著,像睡著了一般搞旭。 火紅的嫁衣襯著肌膚如雪散怖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天肄渗,我揣著相機(jī)與錄音镇眷,去河邊找鬼。 笑死翎嫡,一個胖子當(dāng)著我的面吹牛欠动,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惑申,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼具伍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了圈驼?” 一聲冷哼從身側(cè)響起人芽,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绩脆,沒想到半個月后萤厅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡靴迫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年惕味,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玉锌。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡名挥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芬沉,到底是詐尸還是另有隱情躺同,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布丸逸,位于F島的核電站蹋艺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏黄刚。R本人自食惡果不足惜捎谨,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涛救,春花似錦畏邢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹭沛,卻和暖如春臂寝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摊灭。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工咆贬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帚呼。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓掏缎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親煤杀。 傳聞我的和親對象是個殘疾皇子眷蜈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,182評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件怜珍、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,107評論 4 62
  • 看到這里端蛆,我相信你已經(jīng)知道了作用域的概念了,以及根據(jù)聲明的位置和方式將變量分配給作用域的相關(guān)原理了酥泛。函數(shù)作用域和塊...
    我就是z閱讀 439評論 1 2
  • 前幾天柔袁,司法部發(fā)布了"2016年國家司法考試公告"呆躲,確定9月24日、25日為今年國家司法考試時間捶索。 看到這一消息插掂,...
    子諾不離閱讀 4,811評論 8 57
  • 名日精進(jìn)【打卡第210天】: 姓名:余成杰 公司:貞觀電器 盛和塾《六項精進(jìn)》224期學(xué)員 【知-學(xué)習(xí)】 《六項精...
    余成杰閱讀 232評論 0 0