問題タブ [custom-exceptions]
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# - wcf サービスからの Silverlight 例外 (障害) 処理
wcf メソッドから例外コードを取得したいのですが、常に NotFound エラーが発生します。
クライアント側:
サーバ側:
構成 (includeExceptionDetailInFaults を True に設定):
クライアント側で BaseFault タイプを取得する必要があります。どうやってするか?
c# - .net 例外
.Net が提供するものを使用するのではなく、いつ独自のカスタム例外クラスを作成する必要がありますか?
どの基本例外クラスから派生させる必要があり、その理由は?
symfony1 - メソッドのオーバーライドと例外の管理を保存する
現在、一部のオブジェクトフィールドが等しいかどうかに応じて、ドメインモデルがオブジェクトの重複を防ぐ必要があるアプリケーションを開発しています。
したがって、この比較をクラスのsaveメソッドで処理することを考えています。既存のオブジェクトに、保存するオブジェクトと同じプロパティがある場合は、保存を禁止する必要があります。
必要に応じてユーザーにメッセージを表示するために、アクションでスローされてキャッチされる例外をこの状況に対処することを考えています。残念ながら、例外についての私の知識はあまり良くありません。このソリューションが最も適切でしょうか?
私が使用しているORMはDoctrineです。
java - カスタム例外:列挙型に裏打ちされた多くのサブクラスまたは単一のクラスを介して区別しますか?
Exceptions
現在取り組んでいるプロジェクトのために、自分のセットを実装したいと思っています。プロジェクトは、基本フレームワークの例外を除いてコアフレームワークに依存していますMyFrameworkException
(私もこのフレームワークを書いています)。
特定のプロジェクトについて、いくつかの異なるタイプをスローしたいのですが、コンストラクターパラメーターとしてExceptions
複数のサブクラスを使用するか、何らかの形式の単一のサブクラスを使用するかを決定できません。Enum
どちらの場合も、私は次のことを行っています。
オプション1:
次に、プロジェクト全体で、発生した問題に対して特定の例外をスローします。
オプション2:
MyProjectException
ここでは、発生する問題に対して常に特定の列挙型を使用してスローします。MyProjectException
列挙型に基づいてswitchステートメントを実行できるようにするためのメカニズムを提供します。
プロジェクト、特に共通のインフラストラクチャを共有しているプロジェクトの例外を処理するための最良の方法は何ですか?上記の2つのオプションは良い解決策ですか?なぜまたはなぜそうではないのですか?そして、より良い解決策は何ですか?
c# - カスタム例外による ASP.NET MVC 2 モデル エラー
カスタム例外クラスがあります:
.ToDescription
MyExceptionEnum
例外エラーの詳細に列挙型から文字列へのマッピングを提供するための拡張メソッドです。
これが私がそれを投げる方法です:
したがって、最初の ctor を使用して、特定のメッセージで新しい例外を作成します。
次にコントローラに:
そして最後にビューからのスニペット:
動作しません (デバッグ時に例外がスローされ、モデルの状態にエラーが追加されますが、ページには何も表示されません)。
しかし、次の行に変更すると:
できます。
AddModelError
には 2 つのオーバーロードがあります。
- 文字列、例外 (私には機能しません)
- 文字列、文字列 (作品)
それでは、最初のオーバーロードの使用は何ですか? 私の例外には内部例外メッセージがあるので、HTML 拡張機能がそれをレンダリングすると思っていたでしょうか?
では、ModelState でカスタム例外をどのように処理すればよいでしょうか? 2 番目のオーバーロードの使用は正しいですか?
jquery - jQuery の $.ajax() メソッドをラップしてグローバル エラー処理を定義する
このような質問から分岐して、jQuery の $.ajax() メソッドをラップして、1 つの場所でエラー処理を提供できるようにしようとしています。これは、アプリケーションのすべてのリモート呼び出しで自動的に使用されます。
簡単なアプローチは、$.get() と $.post() が $.ajax() にファサードを実装する方法と同様に、単純に新しい名前を作成することです。ただし、$.ajax() という名前を再利用して、標準の jQuery 構文を使用して残りのコードを保持し、独自のエラー処理を追加したという事実を隠蔽できるようにしたいと考えています。これは実用的かつ/または達成するのに適していますか、それとも恐ろしいアイデアですか?
編集: これまでの応答は、.ajaxError() が進むべき道であることを示しています。これで 400 および 500 レベルのエラーがキャッチされることはわかっていますが、302 リダイレクトもキャッチする方法 (このイベント ハンドラーなどを使用) はありますか? ログインページにリダイレクトする応答を処理しようとしていますが、XHR 要求の場合はそのリダイレクトを傍受し、ユーザーが自動的に転送するのではなくアクションをキャンセルできるようにしたいと考えています。
c# - カスタム例外がシリアル化可能であると言うために、最低限必要なものは何ですか?
ソリューションのレガシー コードにカスタム例外が多数あります。そして、私はすべてをテストしたい
プロジェクトに導入されたカスタム例外がシリアライズ可能 (XML)かどうかを確認する
では、カスタム例外がシリアライズ可能である場合、テストが合格するために何をチェックすればよいでしょうか?
カスタム例外がシリアル化可能であると言うために必要な最小要件は何ですか?
python - 任意のモジュール (ライブラリ) によってインポートされることを意図したモジュールでカスタム エラーをスローする
タスク キューを実装する Python ライブラリを構築しています。何らかの理由でタスクを処理するスレッドが停止し、スレッドを再起動するオプションが設定されていない場合は、例外をスローする必要があります。
これは私が投げるべきものRuntimeException
ですか?カスタム例外をインポートする必要があるため、カスタム例外をスローしたくありませんが、任意の呼び出しコードへの例外のスローがどのように実装されるのが最適かわかりません。
c# - ユーザー定義の例外を作成しないのが最適な場合は?
例外をスローするコンポーネントを作成しました。標準に固執するthrow new Exception
か、特定の例外を作成するかを考えています。
また、Remoting または WCF から例外をスローする場合、ユーザー定義の例外は魅力的ではないと考えています。標準例外を使用すると、呼び出し元は例外を受け取ることができます。ユーザー定義の例外を作成した場合、コンポーネントのアセンブリもクライアントにデプロイされていない限り、呼び出し元は特定の例外を受け取ることができません。ただし、Remoting および WCF 内からユーザー定義の例外をキャッチし、それを標準の例外として再スローすると、クライアントはユーザー定義の例外から例外を受け取ることができます。これにより、ユーザー定義の例外の目的が無効になります。
ユーザー定義例外の追加があまり役に立たないのはいつですか?
[編集]
私の考えを共有すると、ユーザー定義の例外はコンポーネントで (少なくとも 1 つ) 必須であると思います。そのため、独自のコンポーネントを単体テストする場合、誤検知は発生しません。
これにより、誤検知が発生します。
独自の例外を作成しなかった場合、単体テストで誤検知が発生する可能性があります。「見つかりません」という文字列は、コンポーネントまたはコンポーネントの他のサブシステムからのものである可能性があります。したがって、ユーザー定義の例外をいつ作成する必要があるかという私のケースがあります。
これにより、誤検知は発生しません。
考えなければならないことは、非常に具体的なユーザー定義の例外を作成する必要がある場合です。今のところ、最初に、コンポーネントに対してユーザー定義の例外を 1 つだけ設定することに決めます。単体テストで誤検知が発生することはありません。
c# - C#: カスタム例外をスローするベスト プラクティス
C# Exception Handling Practices に関する他のいくつかの質問を読みましたが、探しているものを尋ねるものはないようです。
特定のクラスまたはクラスのセットに対して独自のカスタム例外を実装する場合。これらのクラスに関連するすべてのエラーは、内部例外を使用して例外にカプセル化する必要がありますか?
ソースから例外をすぐに認識できるように、すべての例外をキャッチする方がよいと考えていました。私はまだ元の例外を内部例外として渡しています。一方、例外を再スローするのは冗長だと思っていました。
例外:
オプション 1: Foo はすべての例外をカプセル化します:
オプション 2: Foo は特定の FooExceptions をスローしますが、他の例外を通過させます。