問題タブ [custom-error-handling]

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.

0 投票する
1 に答える
1133 参照

ruby-on-rails - CanCan::AccessDenied の「rescue_from Exception」の例外

カスタム エラー処理を実装し、次の行を使用してエラーから救出しました。

ただし、これは CanCan::AccessDenied からのレスキューでもあります。「CanCan::AccessDenied」をレスキューし、ルート パスに送信して、カスタム メソッド「:render error」ですべてをレスキューするために、このルールの例外を作成するにはどうすればよいですか?

0 投票する
1 に答える
1378 参照

c# - MVCエラーハンドラー(カスタム)とjqgrid Loadエラートリガーを使用してエラーメッセージを表示する方法

私は ASP.net MVC 2.0 アプリケーションに取り組んでおり、その中で jqgrid を使用しています。

次のコードを使用して、グリッドをロードするための ajax リクエスト中に例外を処理しています

これは、ajax リクエスト中にエラーが発生したときにアラートを表示しています。

しかし、ここでは xhr.responseTest を使用してエラーの説明を表示したくありません。むしろ、次の方法で MVC のデフォルトの HandleError 属性をオーバーライドするカスタム エラー ハンドラーを使用しています。

[CustomHandleError] フィルターを使用してコントローラー アクションの例外を処理しています。

リクエストが ajax リクエストであるかどうかを確認できるように、エラー情報を含む json レスポンスをスローしています。(上記コードのデータ(エラー情報) )

正確なエラー情報を Data 変数に取得し、適切な json エラー応答を設定していましたが、

しかし、問題は、xhr.responseText を使用するのではなく、クライアント側でその json をキャプチャしてそのエラー メッセージを表示できなかったことです。

私は次の方法で試しました:しかし、これは動作しません:

アラートは次のように送信されます:

エラーメッセージは表示されず、未定義として表示されます。これは、CustomError ハンドラーからの json 応答が受信されていないことを意味します。

上記の実装方法について、ご協力またはご意見をお寄せください。

0 投票する
3 に答える
6614 参照

c# - エラー処理の設計パターン

さまざまなプロジェクトでこの問題に何度か遭遇しましたが、通常使用するよりも優れた解決策があるかどうか疑問に思っていました。

実行する必要がある一連のメソッドがあり、メソッドのいずれかで何か問題が発生したかどうかを知りたいとします。これは、正常に発生する可能性があります (以前の変更を元に戻す可能性があります...)。私は通常、次のことを行います (疑似C# は、私が最もよく知っているためです):

この種のことに対処するためのより良い方法論があるかどうか疑問に思いました (これが私の質問です)。if私は、より洗練されたものであるべきだと思われるものについて、多くのステートメントを書くことになっているようです.

デリゲート関数のセットをループすることを提案されましたが、それを行うためのクリーンな方法がない限り、ソリューションを過剰に設計するのではないかと心配しています。

0 投票する
1 に答える
3654 参照

php - wordpress、ユーザー名または電子メールが存在しない後のフロントエンドリセットパスワードページのリダイレクト

簡単な問題があります。wordpressを使ってパスワードリセット機能を扱うフロントエンドページを作る必要があるので、フロントエンド以外は基本的にwordpressのデフォルトページと同じです。

しかし、ユーザーがフロントエンドでパスワードをリセットしたが、入力したユーザー名または電子メールがデータベースに存在しない場合、私が理解できなかったことが1つあります。そのため、エラーメッセージを表示する必要があります. 現在、これが発生した場合、管理 wp-login.php にリダイレクトされますが、これは良くありません。パラメーターを使用してフロント エンド ページにリダイレクトし、ユーザーには管理ページが表示されないようにする必要があります。

これに対する解決策はありますか、これは簡単かもしれませんが、しばらく探していて答えが見つかりませんでした

助けてくれてどうもありがとう

0 投票する
1 に答える
8424 参照

php - Nginx、PHP + FPM カスタム エラー ページ

カスタム エラー ページをいくつか作成しようとしていますが、500 ページが機能しないようです。

私は次の設定を持っています:

最初は、それが PHP ファイルだからかもしれないと思ったので、次のように変更しました。

静的ページへ:

しかし、PHPコードを壊してトリガーすると、500応答コードを含む空白のページが表示されます。

次に、それを内部の最後のルールにしようとしましたlocation ~ \.php$が、同じことが起こります。カスタム 500 ページが機能しない理由はありますか?

また、拡張子が .php の「アクセス拒否」ファイルにアクセスしようとすると、カスタム 403 ページが表示されず、代わりに組み込みページが表示されることにも気付きました。ルールを .php ファイルにも適用する方法はありますか?

0 投票する
1 に答える
155 参照

asp.net - ASP.NET MVC でのエラー リターンの違い

new HttpStatusCodeResult(500)を返すことと、アクションで実際のエラー (ゼロによる除算など) を引き起こすことの違いは何ですか?

ゼロ除算のようなエラーが発生したときにcustomErrorsが正常に機能するため、質問していますが、new HttpStatusCodeResult(500)を返すと、customErrorにページが表示されません

0 投票する
0 に答える
1593 参照

c# - カスタム 410 エラー ハンドラ

共有サーバーへのウイルス攻撃により、クライアントの Web サイトに 180 個のリンクが追加され、それらを手動で削除するのに何時間も費やした後、一般化された 410 ハンドラーを含めることで、同様の将来の攻撃を阻止したいと考えています。まず、global.asax.cs を変更して、クエリ文字列が存在するたびに 410 エラーを発行することから始めました。このアプリケーションではクエリ文字列が使用されていないためです。

これは、ローカル テスト マシンの IE11 と Chrome、および共有サーバーの IE11 で正常に機能しました (既定のエラー ページが表示されました)。しかしChromeは空白のページを表示しました。

私の ISP は、カスタム エラー ページがこの問題を解決することを知らせ、IIS で 410 というタイトルの SO 投稿へのリンクを提供しました。

SO 投稿の指示に従って、ルート フォルダーにカスタム 410Error.aspx ページを作成し、コード ビハインドで Response.StatusCode = 410 を設定し、次のように SO の例として web.config を変更しました。

また、カスタム エラーを true に設定します。

残念ながら、Chrome は依然としてローカル マシンと共有サーバーに空白のページを表示し、IE11 はデフォルトの 410 エラー ページを表示しました。IIS が Error410.aspx を見つけることができなかったようです。そのため、絶対パスを含むいくつかの異なるパスを使用してみましたが、うまくいきませんでした。私は何が欠けていますか?

0 投票する
1 に答える
3488 参照

nginx - すべてのサーバーの nginx エラーの場所

すべてのサーバーに共通の場所を定義することはできますか? nginx の場所のドキュメントから、場所はサーバーに依存することがわかりました。私はこのようなことをしたいと思います:

私は設定しようとしました:

成功しない: 常に nginx のデフォルトのエラー ページを表示します。

0 投票する
6 に答える
8735 参照

php - カスタム エラー ハンドラで debug_backtrace() を使用するときに「メモリが不足しています」というエラーを回避するにはどうすればよいですか?

次のような自分の Web サイト用のエラー ハンドラを作成しました。

私はこのように登録します:

渡されたすべての変数を DB に保存し、問題のデバッグに役立つバックトレースを保存します。

問題は、時々このエラーが発生することです:

134217728 バイトの許容メモリ サイズを使い果たしました (30084081 バイトを割り当てようとしました)

上記のエラーが発生したときにエラーハンドラーが実行された理由は、(PHP AWS ライブラリから) Amazon S3 オブジェクトを作成した後に未定義の変数を使用しようとしたためです。Amazon AWS ライブラリが非常に巨大であるため、バックトレースが大量のデータを取り込み、メモリ不足エラー (?) が発生するためだと思います。

デバッグに役立つように可能な場合はバックトレースを含めたいのですが、debug_backtrace()関数の呼び出しによって致命的なエラーが発生しないようにするにはどうすればよいですか (エラー ハンドラー内で、皮肉なことに..)?