【Swift】Swift2.0からのエラーハンドリング:ErrorType, throws

Swift2.0からのエラーハンドリング の投稿一覧

概要

プログラマはErrorType型として、自分で例外をenum型で定義できます。
例外を投げるメソッドには、「このメソッドは例外を投げる可能性があるよ。」と宣言を行わなければいけません。

構文

ErrorType

enum型でエラーを定義できる。

enum Errors: ErrorType {
    case Error1;
    case Error2;
}
throws

メソッド内で例外を吐く可能性がある場合、throwsの宣言を行う必要がある。

func throwError() throws {
    let a: Int? = nil;
    if (a == nil) {
        throw Errors.Error1;  /*aはnilなのでErrors.Error1を投げる*/
    }
}