問題タブ [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.
c# - C# で Parallel.For ループを使用するときに System.AggregateException を修正する方法
次のような C# のループがあります。
Parallel.For ループを使用してこのコードを並列化したいのですが、少なくとも私が尋ねた以前の質問に対する Reed の回答によれば、これは非常に簡単に思えます。だから私は先に進み、これを行います:
このコードは System.AggregateException をスローします。内部例外は次のとおりです。
配列が適切なサイズであることはわかっています。コードが並列でない場合でも問題なく動作するからです。これは何を意味するのでしょうか?この問題をデバッグするにはどうすればよいですか? それとも、この性質のコードを並列化するときに、まったく別のことをする必要がありますか?
内部例外スタック トレースは次のとおりです。
その行に行った後、私はそれをいじって、それが問題であるかどうかを確認しました。行は次のとおりです。
そして、それはうまくいかないかもしれないと考えて、より明示的な方法を試しました:
それで、ある種の内部配列のコピーが問題になる可能性がありますか? それが問題である場合、例外を回避するためにこの配列宣言をどのように処理する必要がありますか?
c# - AggregateException の TaskCanceledException にスタック トレースが含まれていない
Task Parallel Library を使用してタスクを実行しています。タスクをキャンセルすると、OperationCanceledException がスローされ、次のように AggregateException を使用してキャッチされます。AggregateException には、スローされた例外に対応する TaskCanceledExceptions のリストが含まれています。残念ながら、これらの TaskCanceledExceptions は、元の例外によってスローされたスタック トレースを失っているようです。これは設計によるものですか?
結果:
c# - 「mscorlib.dll で 'System.AggregateException' が発生しました」の修正方法
デバッグ中に未処理の例外が発生し、プログラムの実行が停止します。デバッガーに行が表示されないため、何を修正すればよいかわかりません。
タイプ ' ' の未処理の例外が で
System.AggregateException
発生しましたmscorlib.dll
追加情報: タスクの例外は、タスクの待機中またはその Exception プロパティへのアクセスによって観察されませんでした。その結果、監視されていない例外がファイナライザー スレッドによって再スローされました。
ローカルまたは引数 '
<this>
' の値を取得できません。この命令ポインターでは使用できないためです。最適化されている可能性があります。System.Threading.Tasks.TaskExceptionHolder
この問題のトラブルシューティング方法を教えてください。
かなり似ているこの質問も見つけました。
c# - HttpClient-集約例外の処理
こんにちは私はこれに似たHttpClientを使用しています:
しかし、私は例外に対処するのに苦労しています。ステップスローを試みるためだけに追加のキャッチブロックを追加しましたが、どのキャッチブロックにもブレークポイントがキャッチされていません。Taskを使用すると、呼び出し元とは異なるスレッドで例外が発生する可能性があるため、例外は集約コンテナーにラップされますが、これらの例外を処理する最善の方法がわかりません。
たとえば、Webサービスにリクエストを送信し、リクエストに無効なパラメータを指定すると、例外がスローされます。集約された例外をキャッチし、innerexceptionsを調べて、要求が失敗した理由を突き止め、わかりやすいメッセージを返すことができるようにしたいと思います。
だから私の質問は、これらの集約された例外をキャッチしてそれらに対処するための最良の方法は何ですか?
c# - 別の OS でスローされた Tasks Continuation の Unhandled AggregateException
さまざまな OS での応答をテストしているときに、winForms アプリケーションで奇妙な動作が発生します。
unhandledAggregateException
がスローされる (XP 32 ビット マシンでテストした場合) 長時間実行される操作は、WCF (使用basicHttpBinding
およびStreamed
転送モード) クライアント更新手順の一部です。構造は、次のコード スニペットに似ています。わかりやすくするために、WCF 例外処理を省略しました。
proxy.DownloadFile()
メソッドを try-catch ブロックでラップしていることに気付くでしょうIO.IOException
。投稿の冒頭で述べたように、私の WCF サービスは のStreamed
転送モードを使用するbasicHttpBinding
ため、何らかの理由で操作の開始後にサーバーへの接続が失われたときに、このタイプの例外をキャッチする必要があります。catch ステートメントで行うことは、データベース更新タスクをキャンセルし、UI コントロールをプライマリ値にリセットしInterval
、数秒でSystem.Windows.Forms.Timer を開始しUpdate()
て、クライアントがインターネットに接続している場合にメソッドを再度実行することだけです。接続性。
この手順全体は、IOException
がスローされたときに開発環境 (Windows7 32 ビット マシン) で期待どおりに機能しますが、Windows XP 32 ビット マシンで winforms アプリケーションをテストすると、未処理AggregateException
の atSystem.Threading.Tasks.ExceptionHolder.Finalize()
によってアプリケーションが終了します。
誰かが似たようなことを経験しましたか? XP マシンでのみ例外がスローされる可能性はありますか? 他の環境ではまだテストしていません。実際のコードには、より多くのタスクと継続が含まれており、下流のビジネス コンポーネントを呼び出しています。継続スパゲッティを使用したタスクの例外処理に関しては、私はちょっと迷っています。例外処理をどのように構築すべきか、いくつかの例を教えていただけますか?
c# - AggregateException Handle メソッドに関する混乱
ReSharper が CoVariantConversion の警告を出していたので、これをググって修正方法を確認することにしました。このコードスニペットに出くわしました:
この部分は私を混乱させます:
それは何をするためのものか?私はそれが何もしないと思うでしょう。
c# - WindowsPhone PhoneCamera - ページ再開時の例外
私には奇妙な例外があります。ユーザーがキャプチャ後に直接アップロードされるいくつかの写真を作成できるように、ページで PhoneCamera API を使用します。
私のコード:
初期化されたイベントが発生すると、すべてが正常に機能します。しかし、カメラの初期化中にユーザーが電話のホームボタンをタップすると、例外が発生しました。(初期化されたイベントは発生しません)。
ユーザーが戻るボタンで戻ると、次の例外が発生しました。
他の多くのオプションを試しましたが、何も機能しません。なぜこのエラーが発生したのかわかりません。どこで、どのような状況で発生するかはわかっていますが。
どんな助けでも大歓迎です。ありがとうございました。