何度もこの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には返り値が入る