Swiftで例外をキャッチすることは可能ですか?次のコードを考えます:
NSException.raise(NSRangeException,
format: "Now you've gone too far!",
arguments: CVaListPointer(fromUnsafePointer: UnsafePointer()))
例外がプログラム全体をクラッシュさせないようにすることは可能ですか?つまり、Objective-CのSwiftと同等のものは次のとおりです。
@try {
[NSException raise:NSRangeException format:@"Now you've gone too far!"];
}
例外処理はありません そして開発者フォーラムでのこの議論は、なぜそうなのかを議論しています :
ただし、CocoaおよびCocoa Touchは従来、例外をキャッチするつもりはないことに注意してください。そもそも投げられないようにするつもりです。通常のエラーは、オプションのタイプとinout NSErrorパラメーターで処理する必要があります。より良いコードを書くことで、アサーションが失敗する(Swiftで唯一の例外スローメカニズムであると思われる)状況に対処する必要があります。
今日、Swiftはこれをサポートしていません。将来のベータ版で追加される可能性が高いと思います。