2

私は自分のコードでNSExceptionをスローできることを知っていますが、iphone osフレームワークはNSException自体をスローしますか?もしそうなら、フレームワークからNSExceptionsをキャッチする必要があることを意味しますか?私は、Javaがチェックされていない例外などの例外をSDK内でスローすることを知っています。

4

2 に答える 2

4

iOSおよびCocoaのフレームワークによってスローされる例外は、回復不能なエラーを示しています。検証の問題のようなものを伝えるために、例外は(非常に極端な例外を除いて)使用されません。

一般に、iOSとCocoaはNSError、回復可能な問題(たとえば、ユーザー入力検証エラー、Core Dataの状態検証エラー、接続の問題など)を伝えるために使用します。

回復不能な問題を示す以外の目的で、独自のコード内で例外を使用しないでください。これは、基盤となるフレームワークのパターンに反するものであり、そうすることで、コードを時間の経過とともに進化させることがより困難になります。

于 2010-10-11T06:40:21.423 に答える
0

コードでNSExceptionsをスローし、フレームワークもNSExceptionsをスローするかどうかを知りたいとします。さて、エラーが発生した場合はそれらをスローします。例外をスローする各コードを試してみると、それらをキャッチできます... catch...finallyブロックは「あなたの」例外をスローするコードのものとは異なります:)他の人がより多くの情報を提供してくれることを願っていますあなたがやろうとしていることを正しく理解しました。

于 2010-10-11T06:21:48.933 に答える