【Swift】エラー通知とハンドリング
黒帯本でiOS開発の基礎を学び直す。
P.63 Chapter 2-02
エラー処理が記述されているメソッドにthrowされる
func A()
- func Bの呼び出し
- エラー発生時の処理を記述
func B()
- func Cの呼び出し
func C()
- エラー発生時のthrow処理を記述
- 関数宣言にthrowをつける
- func 関数名(引数名: 型) throws -> 戻り値の型
- throw処理の記述
上記関係の場合、func Cでthrowされたエラーはfunc Aで処理される。
ハンドリング
// エラータイプの宣言 enum MyError: ErrorType { case InvalidValue } // エラーをthrowする可能性がある関数 func doubleUp(value: Int) throws -> Int { if value < 0 { throw MyError.InvalidValue } return value * 2 } // エラーハンドリングが必要なdoubleUp関数を利用する func callDoubleUp() { do { // try句をつける(ここで引数に-1を渡すとdoubleUpでthrow -> catch文へ飛ぶ) var doubleResultValue = try doubleUp(-1) print("正常終了") } catch MyError.InvalidValue { print("エラー発生") } }