問題タブ [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.

0 投票する
2 に答える
9963 参照

java - Java-1つの実装を使用して、カスタムのチェックされた例外とチェックされていない例外のgetMessage()を上書きする方法は?

同じカスタム実装MyExceptionを使用するにはどうすればよいですか?MyRuntimeExceptiongetMessage()

Javaには多重継承がないので、どうしたらよいかわかりません。現時点では、両方のクラスに重複するコードがあります...

重要な詳細:getMessage()this.class.getName()のようなものを行います。したがってgetMessage()、ローカリゼーションにはオブジェクトのクラス名が必要になるため、リフレクションを使用する必要があります。

したがって、最初の質問の解決策、または静的メソッドの原因内でリフレクションを使用する方法の解決策が必要な場合は、両方の例外で使用できるユーティリティクラスを使用できますか?

1つの解決策は、ヘルパークラスの静的メソッドであり、これを使用する場合があります。

新しいObject(){} .getClass()。getEnclosingClass()。getEnclosingClass();を返します。

ではない?

0 投票する
4 に答える
10372 参照

c# - カスタム例外とベースコンストラクタ

独自のカスタムコンストラクターを作成しようとしていますが、base()コンストラクターに関するエラーが発生します。私もこのエラーを解決する方法を探していましたが、何も見つかりませんでした。インターネット上のすべての例は、私のものとほぼ同じコードを示しています。

Exception.csのコンテンツ全体:

最初のオーバーロードは機能しbase()ており、エラーはスローされませんでした。2番目と3番目のオーバーロードは私にそれを伝えています:

「RegisService.Exceptionsには、1(2)個の引数を取るコンストラクターが含まれていません」

私がエラーを解決しようとしてきたもう1つの方法:

今回、VSは私に次のように言っています:

「キーワード「base」の使用は、このコンテキストでは無効です」

それで、問題はどこにありますか?base()コンストラクターに奇妙なオーバーロードがあるように見えますか、それとも不適切な方法で呼び出していますか?

0 投票する
4 に答える
518 参照

c# - 明確化:Catch vs Throwを試して、例外をスローし、なぜ基本クラスコンストラクターを呼び出すのか

本の例に従って、次のわずかに変更されたコードを取得しました。

....................................。

特定の例外が特定の条件でスローされたときに私が理解していることは、対応するcatchブロックがそれを処理することです。

しかし、より良い例で私を助けてください、多分.NET例外の実装は本当に役立つでしょう。

そして、なぜメッセージを基本Exceptionクラスに渡すのですか?印刷専用ですか?

基本クラスコンストラクターを呼び出す子クラスにはOOPSの概念があります。名前を付けて、カスタム例外の例とどのように関連しているかを教えてください。

0 投票する
2 に答える
29890 参照

python - if-statementとtry-exceptからカスタム例外を呼び出すpython

そこで、2 つの異なる方法 (if/else ステートメントと try/except ステートメント) で呼び出したいカスタム例外を作成しました。カスタム例外は次のとおりです。

カスタム例外を実装したい方法は次のとおりです。

私の問題は 2 つあります。

1:ブロックで標準NameErrorがスローされるとき (原因)、実装と同様に、「ファイル」などの追加のパラメーターを渡したい。どうすればいいですか?try/except;lsdfjCustomExceptionsif/else

2: カスタム例外が発生すると (if/else ステートメントが false であるため)、CustomExceptions クラスが 2 回呼び出されます。これは、if/else ブロックで例外を発生させ、except:セクション内で再度発生させるためです。これを回避する方法がわかりません。

したがって、上記のケースでは、if-statementが true でないときに CustomException を呼び出したいのですが、コード ブロック内でスローされた標準例外があるときに呼び出したいのですが、現在はif something:false と評価され、CustomException2 回発生します。 ...

したがって、カスタム例外をif/else条件のコード全体で一方的に使用し、標準の python 例外を使用する必要があります...

私はこの説明が複雑であることを知っていますが、私が求めているものを他にどのように説明すればよいかわかりません...どんな助けも大歓迎です! 前もって感謝します!

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

php - try catch ブロック内にないときに例外をスローするのは悪いプログラミングですか?

私は現在PHPで働いています。私が構築している CMS のエラー システムに取り組んでいます (楽しみのために)。私のシステム (php コンパイラではない) の致命的なエラーについては、組み込みの Exception クラスを拡張する FatalException クラスを作成しました。これらのタイプのエラーはとにかくシステムを停止させるので、__construct に exit を挿入しました。

したがって、私のコードでは、データベースへの接続などを確認し、それができない場合は FatalException("データベースに接続できません: $database_error_message") をスローします。try/catch ブロックにはなりません。

たとえば、コードを実行してデータベースに接続できない場合、画面に表示されるのは大きな赤い文字の文章だけです。それで問題なく動作しますが、これは悪い習慣/コーディングですか?

編集:

実際には、このように始まったわけではありません。私はもともとエラーをログに記録してからキャッチ領域で終了していましたが、とにかくすべての致命的なエラーが終了する場合は、コンストラクターに入れるだけだと思いました。それから、出ようとしているキャッチ エリアに実際に到達していないことに気付きました。そのため、文を try/catch ブロックに入れることは、ちょっとした問題点でした。それは質問につながります。

0 投票する
4 に答える
69375 参照

ruby - Ruby カスタム エラー クラス: メッセージ属性の継承

カスタム例外クラスに関する多くの情報が見つからないようです。

私が知っていること

カスタム エラー クラスを宣言してから継承させることStandardErrorができるので、rescuedにすることができます。

これにより、次を使用してそれを上げることができます。

その後、レスキュー時にそのメッセージを取得します

わからないこと

例外にいくつかのカスタム フィールドを指定したいのですmessageが、親クラスから属性を継承したいと考えています。このトピックを読んで@message例外クラスのインスタンス変数ではないことがわかったので、継承がうまくいかないのではないかと心配しています。

誰でもこれについて詳しく教えてもらえますか?object属性を持つカスタム エラー クラスを実装するにはどうすればよいですか? 次は正しいですか。

その後:

取得するため:

それは機能しますか?もしそうなら、これは物事を行う正しい方法ですか?