web-dev-qa-db-ja.com

Swiftのtry-catch例外

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!"];
}
28
modocache

例外処理はありません そして開発者フォーラムでのこの議論は、なぜそうなのかを議論しています

ただし、CocoaおよびCocoa Touchは従来、例外をキャッチするつもりはないことに注意してください。そもそも投げられないようにするつもりです。通常のエラーは、オプションのタイプとinout NSErrorパラメーターで処理する必要があります。より良いコードを書くことで、アサーションが失敗する(Swiftで唯一の例外スローメカニズムであると思われる)状況に対処する必要があります。

10
manojlds

今日、Swiftはこれをサポートしていません。将来のベータ版で追加される可能性が高いと思います。

0
Oscar Swanros