0

私の Objective-C プロジェクトの iOS アプリには、クラッシュする可能性のある C 関数がたくさんあります。クラッシュしたものを処理できるようにしたい。最初は @try-catch メカニズムを使用することを考えていましたが、私が理解している限り、このブロック内のすべての例外をスローして処理する必要があります。本当ですか?どうすれば問題を解決できますか?

たとえば、これは Objective-C コードでの C 関数の呼び出しです。潜在的に、この関数はクラッシュする可能性があります。

err = mailimap_list(session, "", "*", &allList);
4

2 に答える 2

2

簡単に言えば、できません。

長い説明: C には「例外」がありません。C コードがクラッシュした場合、それはプロセスの寿命に関して致命的なことです。たとえば、セグメンテーション違反が検出されると、OS はプロセスを終了させます。これらは、処理可能な Obejctive-C スタイルの例外ではありません。

于 2013-02-06T13:57:40.567 に答える
1

「C例外」などはありますか?それらが存在しない場合は、それらを処理する必要はありません:問題は解決しました!

于 2013-02-06T13:58:57.847 に答える