を考える私はワット/ sのパフォーマンスをよりよく行うことをお勧めしたり、再帰呼び出しを使用することができますが、それは問題を解決することはできませんコメント
あなたが正しいです。内部例外オブジェクトは "at MyApp.ViewModels.CreateViewModel.d__61.MoveNext()---例外がスローされた前の場所からのスタックトレース--- System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__0(オブジェクト状態)で終了します。 "メッセージ:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ちょうどどこかで、待たずに非同期メソッドを呼び出していることがわかります。メソッドがタスクを返すときは常にそれを待ちます。
あなたの内側の例外は、内部例外を持つ必要があります(つまり、$ exception.InnerException.InnerException whichesスタックトレースあなたとNullReferenceExceptionの場所が表示されます)
あなたのコードで例外が処理されていない場合
UnhandledExceptionイベントが呼び出されますあなたのコードでは、アプリはそれを処理する方法を知らない。 デフォルトでは、アプリがクラッシュします。 しかし、そのような場合にアプリがクラッシュするのを防ぐことができます。詳細については、thisを参照してください。
問題を「クリーンな方法」で解決するには、コードが待たれていない場所を見つけて修正する必要があります。つまり、どこかにあなたが見つける:
myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task.
変更を:
try
{
await myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task.
}catch(Exception ex)
{
// display error message or whatever
}
を[編集]これは、エラーを処理しますが、何が本当に解決したいのは、あなたのnullref例外の原因であるだろう。私はあまり手がかりを持っていませんが、スレッドの並行性の問題のように見えます。
のInnerException? – Olivier
@Olivier App.xaml.csのApplication_UnhandledExceptionイベントをスローする – asitis
つまり、TargetInvocationExceptionは投げられた実際の例外をラップする単なる例外です...あなたのException.InnerExceptionプロパティへの例外は何ですか? – Olivier