問題タブ [aggregateexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
foreach - 例外に「GetEnumerator」が含まれていないため、「foreach」を使用して例外を処理することはできません
Exceptions
いくつかのタスクの実行中にスローされることについて報告したい:
ただし、foreach
その場合はループを使用できません。
その問題の回避策はありますか?
c# - SignalR 例外によりサービス/アプリが強制終了される - System.Threading.Tasks.TaskExceptionHolder.Finalize()
私は時々この問題と戦ってきました。.NET 4.0 を対象とする Windows サービスは、.NET シグナル クライアントを作成しますがSystem.Threading.Tasks.TaskExceptionHolder.Finalize()
、タスク内で集計例外がスローされるために、時々強制終了されます。セットアップの要点は次のとおりです。その他の詳細は省略します。
Windows サービス:
SingalrEnv クラス:
ただし、Signalr が Signalr クライアント フレームワーク内OnError-System.TimeoutException
またはネットワーク例外のような例外をスローすると、Windows サービスは強制終了されます。私も取り扱いを試みましたTaskscheduler.UnObservedTaskException
が、役に立ちませんでした。したがって、例外は別のスレッドでスローされ、そこで処理されないようです。私のセットアップでは、例外をキャプチャして観察し、クラッシュを防ぐ必要があります。TPL と signalr で例外を処理する際に何が欠けていますか?
注: .net 4.5 を使用するシステムでは、Microsoft がデフォルトの動作にしたため、サービスに問題はありません (クラッシュはありません)。web.config で明示的にクラッシュ動作を有効にする必要があります。
ios - C# - Xamarin - HttpClient - オブジェクトの現在の状態が原因で操作が無効です - iOS
HTTP リクエストを行うクロスプラットフォーム ライブラリに取り組んでいます。Android では問題なく動作していますが、iOS で使用しようとすると例外が発生し、修正方法がわかりません。
これが私のコードです:
task.Wait();
私System.AggregateException
は内部例外を取得System.InvalidOperationException
しますOperation is invalid due to the current state of the object.
いくつかの解決策を見つけようとしたところ、UI スレッドでこれを呼び出すことが問題の原因である可能性があることがわかりました。しかし、これがすべてを でラップすることの要点ですTask.Factory.StartNew
。
できることはすべて試しましたが、まだ問題を解決していません。どんな助けでも大歓迎です。
編集:
私は自分のソリューションを iPhone シミュレーターで試すことにしました。これは、iOS 10 を実行する iPhone 6 シミュレーターです。私の物理デバイスは同じです。シミュレーターでは動作しますが、何らかの理由で物理デバイスでは動作しません...非常に奇妙です。
編集2:
解決策を見つけてくれた@YuriSに感謝します。
あなたができることは次のとおりです:1)iosプロジェクトの参照に移動します2)参照を編集します3)「System.Net.Http」を確認します
Android の動作は同じです。
c# - C# Task.WaitAll() エラー処理によるキャンセル
私は問題があります。複数の長時間実行タスクを実行しようとしています。1 つが失敗した場合は、他のすべてのタスクをキャンセルして、失敗の例外を取得します。以下に例を示します。例外がスローされた AggregateException をキャッチしたい
しかし、AggregateException の代わりに、OperationCanceledException をキャッチしています。これは、他のすべてのタスクをキャンセルしたいからです。
助けてください。
c# - デバッグ中の AggregateException により、ForAll 本体の再起動が強制されます
理解も説明もできない、本当に奇妙な行動を経験しています。それを実証するための非常に単純なサンプルを作成することができました。これは、VS.Net 2013 および 2015 で、複数のターゲット .Net バージョンを持つ異なるマシンで再現されました。
デバッグせずにそのコードを実行すると、期待どおりの結果が得られます: 2 つのタスクが開始され、1 つが失敗し、AggregateException の詳細がコンソールに表示されます。
しかし、デバッグで同じコードを開始すると、結果は非常に奇妙なものになります。まず、AggregateException を受け取ります。
ただし、[続行] をクリックすると、両方のタスクが何度も開始されます。コンソールからのサンプル出力は次のとおりです。
2 つのタスクを使用して、両方が再起動していることを示していました。空のものをコメントアウトして、同じ紛らわしい結果を受け取ることができます。
ここで私の質問 - これは VS.Net のバグですか、それとも私が理解できない機能ですか?
ここで「通常の」方法でデバッグする方法はありますか?
c# - Task.Wait() でキャッチされない AggregateException
Task.Factory.StartNew メソッドによってスローされる NullReferenceException をキャッチしようとしています。task.Wait() メソッドの「try」ステートメントでキャッチする必要があると思います。また、なぜこの例外がキャッチされないのですか?にも言及しました。、しかし、わかりません。あなたの知恵を分かち合いませんか?
c# - Task.Run() で AggregateException がスローされない
意図的に失敗した Task.Run() 操作から AggregateException をキャッチしようとしていますが、AggregateException はスローされません。なんで?
例外がスローされることを期待していますが、そうではありません。私も .Wait を追加しようとしましたが、それでも例外は発生しません。リクエストは Windows UI から来ています。何か案は。ありがとう。