注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。
Swiftは、その多くはObjective-CおよびCocoa Frameworkから取られているが、Swift特有の機能も少なくない。Objective-Cでは基本的にNSObjectのサブクラスとして扱われる各クラスの一方で、Swiftではネイティブクラス、あるいはstructも存在するからである。ここではSwift特有の機能であるfatalError
について説明したい。
fatalError
とは、当然のことながら、致命的なエラーが発生したとして、強制的に終了させてしまうというもので、C言語およびObjective-Cで言えばexit
に近い命令といえる。
例えば、以下のコードのような使い方がある。なお、ここでは各オブジェクト・変数は定義済みとする。
guard let foo = bar.something() else {
fatalError()
}
ここでは、guard ... else { ... }
都することで、bar
のdoSomething()
メソッドの返り値の値が絶対にnil
になってはいけないという処理を意味することができる。万一nilになっていたら致命的な問題が発生しているものとして、強制終了させることになる。
Objective-Cではそれに相当するコードを書く場合は、例外を使うか、exit
を使うのが比較的近い。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。