4

Xamarin.iOS 6.2.1、Xamarin Studio 4

私はこのコードを持っていますViewDidAppear():

this.refreshTask = Task.Factory.StartNew(() => this.RefreshContent());

try
{
    this.refreshTask.Wait();
}
catch(AggregateException aggEx)
{
    aggEx.Handle(x => false);
}

このメソッドは、配列へのアクセス中に while をRefreshContent()引き起こします。IndexOutOfBoundsExceptionメソッドを直接実行すると、これを確認できます。上記のようにタスクで実行すると、アプリケーションは失敗せず、空のテーブルビューになります。この記事によると: http://msdn.microsoft.com/en-us/library/dd537614.aspx上記のコードは例外を処理する必要があります。ただし、AggregateExceptionがトリガーされることはありません。

ここで何が間違っていますか?それとも Xamarin.iOS / Mono のバグですか?

4

1 に答える 1

2

新しいタスク デリゲート内に try-catch を含めようとしましたか? このような:

 Task.Factory.StartNew(() => {
        try {
             this.RefreshContent()
        } catch (Exception ex) {
             // Handle the exception
        }
  });
于 2013-03-23T15:20:48.917 に答える