0

iOS 開発で NSError を処理する良い方法はありますか?私はいくつかのオンライン リファレンスを参照していましたが、それらのほとんどが[NSApp presentError]エラーを表示するために使用されていることがわかりました??

iOS領域にはNSAppと呼ばれるものがないため、これはiOSでは絶対に不可能です..

何を印刷するだけでなく、NSErrorsをどのように処理すべきか疑問に思っていました

エラーは実際に使用しています[error localizedDescription]

NSError クラスのエラー コード プロパティにアクセスし、可能なすべてのエラーを処理する必要があります。

else if/ladder?? を使用して特定の状況で予想されるエラー コード

**NSErrorとの主な違いを説明できると助かります。

NSException? そもそも2つの別々のものがある理由**

4

2 に答える 2

2

NSErrorは戻りコードであり、何かをしようとしたが、試したものが機能しませんでした。たとえば、ファイルを開こうとしましたが、そこにありませんでした。NSErrorは、異なる状況のセットで同じ呼び出しを行ってもエラーが発生しない可能性があるエラー状態を示します(ファイルはそこにあります)。NSExceptionは、致命的な問題があることを示します。nullに書き込もうとしましたが、文字列または配列の終わりを超えて書き込もうとしました。NSExceptionsは、プログラマーであるあなたがクリーンアップする必要があります。NSErrorsは単なる偶然のエラーである可能性があります。
NSErrorで何をするかは、コンテキストによって異なります。アラートでユーザーに通知したい場合もあれば、無視したい場合もあります(新しいリソースを作成する前に、そこにないリソースをテストする場合など)。おそらく少なくとも、NSErrorsをNSLogする必要があります(マクロを使用して最終的なコードからNSLogsを取り除く場合)。

于 2013-03-22T20:22:45.163 に答える
0

NSErrors で何をするかは、特定のアプリケーションに依存します。常識を働かせてください。

Java のような他の言語とは異なり、Objective-C では例外はリソースを大量に消費します。したがって、

  • 例外を使用して、回復不能なプログラム エラーを示します。このような例外をキャッチしたプログラムは、その後すぐに終了する必要があります。フレームワークは、例外から回復できるようには設計されていません。

  • ユーザー エラー、回復可能なエラー、または一般的なフロー制御を示すために例外を使用しないでください。これらのケースは、代わりに NSError で処理する必要があります。

于 2013-03-22T19:09:44.907 に答える