Swift2に移植された(醜い)自作コードがいくつかあり、ラムダ関数で次のエラーメッセージが表示されます。
私が理解していなかったのは、エラースロー関数JSONObjectWithDataを使用してコード全体を処理し、エラーをキャッチすることです。コードには何もスローしません。それにもかかわらず、コンパイラは私がエラーをスローしていることを意味します。
この動作を理解する必要があります。 Swift2の新しいエラー処理の概念を最大限に活用するには、コードを改善する必要があることを知っているので、親切にしてください。
事前にどうもありがとうございました。
これは速かった。私はこの記事の少しの助けを借りて私の問題の解決策を見つけました:
http://www.hackingwithswift.com/new-syntax-Swift-2-error-handling-try-catch
nSErrorのキャッチだけでは不十分であるため、コードの最後に一般的なcatch句を配置する必要があります。
catch let error as NSError
{
failure(error: error)
return
}
// this is important -->
catch
{
}
前進するための最善の方法は、失敗関数のシグネチャを変更してErrorType
を取ることだと思います。それならただ
catch let error {
failure(error: error)
}
しましょう。