へー。
C++ の話と違って悪いけど、Apple の Swift っていう言語ではフレームワーク(ライブラリ)のポインタ引数にエラーを返す関数を Swift 側では例外として処理するように書けるようになってる。

Obj-C で
[SomeClass add:hage error:&error]
if (error) ...;

を

do {
SomeClass.add(hage)
} catch let error as NSError {
...
}

と例外処理構文でかける。
好き勝手言語ならではの力技によるエラー戻り値と例外の統合。