MonoTouch は、ObjC 例外をマネージ例外にある程度変換しようとします。これは、ObjC 例外用の未処理の例外ハンドラーを追加することによって行われ、そこでマネージ例外がスローされます。これはセカンダリ スレッドでは機能しますが、メイン スレッドでは機能しません。これは、iOS のメイン実行ループに try-catch ハンドラーがあり、例外が到達するとアプリが強制終了されるためです (つまり、例外が処理されるため、決してMonoTouch の未処理の例外ハンドラに到達します)。
最善の方法は、最初から ObjC 例外を回避することです (Apple のドキュメントでは、ObjC 例外は多くの問題があるため、真に例外的な状況でのみ使用する必要があると記載されています。たとえば、メモリ リークは非常に一般的です)。
すべての ObjC 例外を回避することは明らかに不可能であるため、引き続き発生する場合の回避策を見つけようとします。特定のケースでこれを行う最善の方法は、完全なテスト ケースを作成し、http: //bugzilla.xamarin.comでバグ レポートを開き、テスト ケースを添付することです。