std::exceptionを継承する正しい方法
2023-08-31 08:55:57
質問
例外階層を作成し、その中に
char*
を派生クラスのコンストラクタに渡そうとしましたが、どうやら
std::exception
にはそれを可能にするようなコンストラクタはないようです。というクラスのメンバがあるのに
what()
というクラスメンバがあり、これは何らかの情報を渡すことができることを示唆しています。
の派生クラスにテキストを渡すにはどうしたらいいのでしょうか?
std::exception
の派生クラスに情報を渡すために、コードのどこかで言うことができます。
throw My_Exception("Something bad happened.");
どのように解決するのですか?
文字列のコンストラクタを利用したい場合は、以下のように std::runtime_error または std::logic_error のように、文字列のコンストラクタを実装し、std::exception::what メソッドを実装しているものがあります。
それから、継承した新しいクラスからruntime_error/logic_errorコンストラクタを呼び出すだけです。c++11を使用している場合は、コンストラクタ継承を使用できます。
関連
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonで例外を表示するには?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
-
[解決済み】Exceptionを投げるとき、どの部分が高価なのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み] std::exceptionを継承すべきですか?