何度もこのtryの3種類ってなんだっけ?って悩んでその度に調べ直すので、調べた内容を記録しておきます。

try は通常通りの例外処理に使う

do catchで問題が発生した際に例外処理を実行する。

以下のような感じ

do {
	try ■throws宣言された関数
} catch {
	■関数でエラーが発生した時の処理を書く場所
}

try! は強制的に無視ができる

オプショナル型の時の!と同じく例外が出た時でも、無視することができる。

無視するので、do catchは必要ないが、当然クラッシュする。



try! ■throws宣言された関数 //発生した時点でクラッシュ

try? はクラッシュさせず無視する

try!と同様に無視されるが、クラッシュさせず単純な無視を実行する。

返り値があるような関数の場合、エラーが発生した状態で無視してるので、返り値は存在せずnilになる


try? ■throws宣言された関数 //try!と違い、クラッシュせずそのまま進む

var param = try? ■返り値がありエラーが出る関数  ///paramにはnilが入る
var param = try? ■返り値がありエラーがない関数  ///paramには返り値が入る

コメント