0

C# アプリケーションを mac osx に移植しています。プログラムの C# バージョンには、プログラムによってスローされた例外をキャッチする try catch() ブロックがあります。

次に、最上位の例外ハンドラがユーザーに報告するかどうかを尋ねます。ユーザーが報告すると言うと、例外スタックが報告されます。バグの特定に役立ちます。

私のOSXアプリでは、Objective Cのユーザーインターフェイスを備えたC/C++のプログラムのバックエンド部分

客観的なCプログラムに同様の機能はありますか?? そうでない場合、プログラム内から報告、例外、またはバグ報告する別の方法はありますか?

4

1 に答える 1

3

例外に関する限り、致命的でないエラーの場合、Objective-C の例外よりも NSError が実際に優先されます。これについては、Apple のException Programming Topics: Introduction to Exception Programming Topics for Cocoaドキュメントで説明されています。

重要:範囲外のコレクション アクセス、不変オブジェクトの変更の試行、無効なメッセージの送信、ウィンドウ サーバーへの接続の切断など、プログラミングまたは予期しないランタイム エラーのために、例外の使用を予約する必要があります。

...

例外の代わりに、エラー オブジェクト ( NSError ) と Cocoa エラー配信メカニズムを使用して、Cocoa アプリケーションで予期されるエラーを伝達することをお勧めします。詳細については、「エラー処理プログラミング ガイド」を参照してください。

Using NSError to Great Effectは、NSError に関する優れたチュートリアルです (前述のエラー処理ドキュメントに加えて)。

クラッシュ/致命的なエラーの報告に関する限り、多くのオプションについては「Crash Reporter for Cocoa app」の質問を参照してください。

于 2013-01-31T23:42:23.983 に答える