問題タブ [onexception]
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.
asp.net-web-api - Web API REST サービスの例外処理の問題
ASP.NET Web API を使用して単純な REST サービスを構築しました。
コントローラーのメソッドの 1 つをカスタム ActionFilterAttribute に関連付け、OnActionExecuted をオーバーライドしました。アクション フィルターでは、送信しようとしている応答 (actionExecutedContext.Response) を使用します。
アプリケーション全体は、エラーのログ記録に使用される OnException をオーバーライドするカスタム ExceptionFilterAttribute に関連付けられています。
ここで問題があります - コントローラーのメソッドから例外が発生した場合、次の 2 つのうちのいずれかが予想され
ます。
2. アクションの実行が実際には終了していないため、OnExpetion のみが呼び出されます。
実際に何が起こるかというと、OnActionExecuted が呼び出され、応答が null になり、その結果、別の例外 (今回は null 参照) が発生し、OnException でキャッチされ、間違った例外がログに記録されます。
私の質問は次のとおり
です。 1. 例外が発生した場合に OnActionExecuted が呼び出されるのはなぜですか? 最初に OnException を呼び出すべきではありませんか? 説明があります。
2. OnActionExecuted を変更する必要があることは理解していますが、正しい方法は何ですか? 一般に、何かを実行する前に、actionExecutedContext.Response または actionExecutedContext.Exception が null でないことを確認する必要がありますか (OnException メソッドでの明らかなチェック以外に)? 私はコードを属性のアクションに基づいており、常に応答がありますが、明らかにそうではありません。
事前に感謝します:)!
apache-camel - apache camel でのグローバル onException の Router Builder の注入または継承
私は1つのクラスonException
で構成しました。コンテキスト内の他のすべてのルートでDefaultRouteBuilder
これが必要です。onException
私の疑問はDefaultRouteBuilder
、他のすべてのルートで継承してメソッドを呼び出すsuper.configure()
か、他のすべてのクラスconfigure()
に注入してメソッドを呼び出すかです。どちらが適切ですか?DefaultRouteBuilder defaultRoute
RouteBuilder
defaultRoute.configure()
configure()
java - アグリゲーターを含むルート内での OnException の使用
ルート内でアグリゲーターも含む onException 句を使用しようとしています。アグリゲーターの aggregate() メソッド内で例外がスローされるたびに、OnException 句がそれをキャッチして処理し、再配信する必要があると予想していました。しかし、それは起こっていないようです。誰でも私が間違っているところを提案してもらえますか?
ここで、CustomAggregator はアグリゲーターであり、その集計メソッド内で例外処理をテストするために例外をスローしています。
任意のヘルプや提案をいただければ幸いです。
asp.net-mvc - OnException(ExceptionContext filterContext) 内で POST アクションに渡されたモデルを回復する方法はありますか?
状況は次のとおりです。
viewModel
POST アクション メソッドに渡された を取得する方法が見つかりません。
コントローラーのオーバーライド可能な内部OnException
:
コードをデバッグするときfilterContext.Controller.ViewData
はnull
、コードの実行中に例外が発生し、ビューが返されなかったためです。
とにかく、それfilterContext.Controller.ViewData.ModelState
が満たされ、必要なすべての値があることがわかりますが、完全なViewData => viewModel
オブジェクトが利用可能ではありません。:(
View
ポストバックと同じものをdata/ViewModel
中心点でユーザーに返却したい。あなたが私のドリフトを理解してくれることを願っています。
目的を達成するためにたどることができる他の道はありますか?
apache-camel - Camel SFTP ルートが onException の続行に失敗する
私はかなり単純なルートを持っています
onException 句もあります
単一のファイルがある場合、ルートは期待どおりに機能するようです。複数のファイルと例外が発生すると、次のような多くの異なる例外が発生します
ルートに記載されているすべての属性を使用してみました。streamDownload、stepwise、readLock、localWorkDirectory など。ただし、複数ファイル時のエラーハンドリングは動作しません。最初のファイルが処理されているのがわかります。ただし、例外が発生し、incoming/folder/locationがリスト不可になると、処理済みフォルダーに移動しません。処理された(true)の代わりにcontinued(true)も使用してみました
logging - CamelのonException句でロガー(ログカテゴリ/ログ名)を設定するにはどうすればよいですか?
私は次のルートを持っています:
エラーが発生すると、ログは org.apache.camel.processor.DefaultErrorHandler ログ カテゴリに出力されます。これをカスタム ログ カテゴリに変更する方法はありますか? .errorHandler() ではログ カテゴリを設定できますが、.onException() では許可されていないようです。
ありがとう。
c# - さまざまな例外を処理するさまざまな側面
私が行った読書から、コードでさまざまな例外を異なる方法で処理できるようにする OnExceptionAspect から継承されたさまざまなアスペクトを作成できると期待していました。
この目的のために、次のように 2 つの Aspect クラスを作成しました。
そして他のアスペクトクラス:
私の呼び出し元のメソッドは次のとおりです。
AssemblyInfo.cs ファイルに次のエントリがあります。
私の期待は、最初の呼び出し元メソッドが「ExternalException」を発生させたときに、「CommonExceptionAspect」の OnException メソッドがそれを処理することでした。そして、2 番目の呼び出し元メソッドから「AuthenticationException」が発生した場合、「AuthenticationExceptionAspect」の OnException メソッド。
ただし、どちらのシナリオでも、呼び出しは「CommonExceptionAspect」に行きます。誰かが私が間違っていることを指摘してもらえますか? この理解が正しくない場合、およびこのシナリオを達成することがまったく可能である場合.
事前に感謝します。