問題タブ [nsexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2672 参照

iphone - なぜ NSException エラーですか?

次のコードを入れました...;

...そして、次のような NSException エラーが表示されます。

これは何を意味するのでしょうか?この問題を解決するにはどうすればよいですか?

ありがとう、

ジェームズ

0 投票する
1 に答える
1237 参照

iphone - 'NSException' (gdb) のインスタンスをスローした後に呼び出される終了

バックアップなしで 6 か月の作業でアプリを作成しました。シミュレーターでは問題なく動作しますが、デバイスではクラッシュします。

これはエラーコードです:

2011-09-11 17:55:49.172 Apli[223:707] *キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。 4328-94BF-A73506B8AB07/Apli.app> (ロード済み)' 'MainWindow'' という名前

0 投票する
1 に答える
1219 参照

objective-c - NSException callStackSymbols

例外が発生すると、次のようなスタック トレースがあります。

2 CoreFoundation 0x013bd1cc -[__NSArrayI objectAtIndex:] + 236
3 –ò–°–≠–î 0x0000ac76 -[ContentButton handleGesture:] + 326
4 UIKit 0x00de24f2 -[UIGestureRecognizer _updateGestureWithEvent:] + 730
...

メソッドのカスタム クラスでobjectAtIndex:NSArrayを取得しようとすると、例外が発生したことがわかります。ContentButtonhandleGesture:

しかし、メッセージの後のこの数字 (+236 など) は何を意味するのでしょうか?

Javaスタックトレースでは、例外が発生した行番号を意味します(私が知っているように)。ただし、メッセージ[__NSArrayI objectAtIndex:]は 47 行目 (236 行目ではありません) で送信されます。

どうもありがとう。

0 投票する
3 に答える
949 参照

iphone - -[UILabel setFont:] でのアサーションの失敗

iOS 3.1.2 で UILabel のフォントを設定するとこの例外が発生しますが、iOS 4 では問題なく動作します。

コード行は、

ここで、DS-Digital は私のカスタム フォントです。

0 投票する
5 に答える
47031 参照

objective-c - Xcodeはクラッシュの原因となる行を表示しません

アプリがクラッシュするたびに、Xcodeはmain()関数のUIApicationMain()呼び出しをクラッシュの原因となった行として強調表示します。以前は正常だった場合もありますが(たとえば、セグメンテーションフォールト)、対処しようとしているクラッシュは、コンソールに詳細情報が記録された単純なSIGABRTです。

Xcodeは、以前のSDKで適切な行を表示するために使用されていましたが、Xocde 4.2にアップグレードしたため、変更されました。Xcodeがクラッシュの原因を正確に知っている(または知ることができる)ことはかなり明白ですが、それでも実際の行は表示されません。これに対する修正または回避策はありますか?

0 投票する
3 に答える
483 参照

objective-c - NSRangeExceptionおよびarc4random

了解しました。arc4randomを使用して配列からランダムな画像を取得しています。このためのコードは次のとおりです。

私はこのコードを複数回呼び出しており、しばらくは機能しますが、しばらくすると、このエラーのために常にクラッシュします。

私の質問は、なぜこの途方もなく大きな数が作成されたのかということです。arc4random関数に何か問題がありますか?どんな助けでも大歓迎です

0 投票する
2 に答える
717 参照

iphone - 必要な入力パラメーターがnilの場合、Objective-cメソッドで例外をスローしますか?

Objective-cでの例外の再利用に関する一般的なガイダンスに注意してください(たとえば、Objective-c / cocoaで例外をスローする)この場合はまだよくわかりません。

必要な入力パラメーターがnilのベストプラクティス/okの場合、Objective-cメソッドで例外をスローしていますか?

いいえの場合、ここでのObjective-cではどのようなアプローチが一般的でしょうか?

0 投票する
1 に答える
1971 参照

iphone - アプリは次の理由で終了します - キャッチされない例外 'NSGenericException',

サーバーからいくつかのデータをフェッチしているときに、以下のエラーが発生しました。データの取得中に、アクティビティ インジケーターを含むカスタム アラート ビューを表示しています。NSThread によってデータ フェッチが行われている間、アラートはメイン スレッドを使用しています。この問題は、常にではなく、ある時点でのみ発生します。私は何をすべきか理解できません。

* キャッチされない例外 'NSGenericException' が原因でアプリを終了しています。理由: '*列挙中にコレクションが変更されました。( "", "", "" )'

*最初のスローでスタックを呼び出す: (

)

「NSException」のインスタンスをスローした後に呼び出される終了

0 投票する
4 に答える
366 参照

objective-c - @catch ブロックでキャッチされたオブジェクトのライフサイクルは?

ObjC@catchブロックで例外をキャッチすると、その例外オブジェクトのライフサイクルはどうなりますか? ブロック内で安全に使用できることはわかっていますが、このようにブロック後にもう一度使用したい場合はどうすればよいですか?

参照を別のローカルに安全に隠しておくことはできますか? retain, autorelease安全のためにやるべきですか?それを保持し、無期限に保持することはできますか?

(ローカルに割り当てたり、保持して後で使用したりすると問題なく動作するように見えますが、ドキュメントでは、このオブジェクトが所有権の観点から「どこから来たのか」、またはそれが特別なものであるかどうかについては実際には議論されていないため、探していましたより明確に。)

0 投票する
1 に答える
3321 参照

iphone - アプリケーション全体での例外処理

iPhone の例外処理について、いくつか疑問があります。ここにそれらがあります:

  1. 次々に呼び出される一連のメソッドがあるとします。つまり、メソッド A がメソッド B を呼び出し、メソッド B がメソッド C を呼び出し、メソッド C がメソッド D を呼び出します。try-catch ブロックを配置するのに最適な場所はどれですか (方法 A か B か C か D か、またはそれらすべてか)。また、例外が発生したというアラートをユーザーに表示する必要があり、この例外をサーバーに記録したいと考えています。したがって、このすべてのメソッドで try - catch ブロックを記述していて、メソッド D; で例外が発生した場合。次に、アラートが4回表示され、ロギング用のWebサービスも4回呼び出されると思います(コントロールがメソッドAのブロックをキャッチするまで)。では、@throw; を使用するだけでよいでしょうか。メソッドB、C、DのcatchブロックでロジックをメソッドA(トップレベルメソッド)のcatchブロックに書くか、メソッドB、C、Dでtry - catchをまったく書かないようにする必要があります。

  2. 例外から何らかのエラー コードが必要です (Web サービスにはエラー コードと説明のパラメーターが必要なため)。例外をエラーに変換することは可能ですか、それともこのコードをハードコーディングする必要がありますか?

  3. NSSetUncaughtExceptionHandler についてどこかで読んだことがあります。そして、このハンドラーを (アプリ デリゲートの appDidFinishLaunching メソッドで) およびハンドラー メソッドで設定できれば、ユーザーにアラートを表示して Web サービスを呼び出すことができればと思います。次に、各クラスの各メソッドに try - catch ブロックを記述する必要はありません。私は正しいですか??

  4. 例外が発生し、try - catch ブロックまたは NSSetUncaughtExceptionHandler のいずれかを記述した場合、アプリは引き続き実行されますか、それともどのユーザー イベントにも応答しません。(クラッシュを処理すると確信しています。私が知りたいのは、ハングするかどうかです)

誰かがこの例外トピックについて教えてください。