C++では、例外宣言指定子で、基本クラスを宣言して派生クラスをスローすると、予期しない例外ですか?例外宣言の派生オブジェクト型が予期しないものですか?
1
A
答えて
2
例外宣言指定子で、基本クラスを宣言してから派生クラスをスローすると、予期しない例外ですか?
いいえ。
リファレンス: C++ 03 15.4例外仕様
パラ6:
例外仕様は、複数回同じタイプを含むことができ、関連しているクラスを含むことができ継承によって、たとえそれが冗長であっても。例外仕様には、クラスstd :: bad_exception(18.6.2.1)も含めることができます。例外仕様が失敗し、ほとんどのコンパイラは、それらを正しく実装していない実験として考えられていること
[Example: class X { }; class Y { }; class Z: public X { }; class W { }; void f() throw (X, Y) { int n = 0; if (n) throw X(); // OK if (n) throw Z(); // also OK <------- Example of the exact scenario you posted throw W(); // will call unexpected() } —end example]
注:
は8
パラの関連する例があります。したがって、それらを使用しないでください(むしろ使用しないでください)。
0
私は、これは恐ろしい非答えですけど、例外仕様を使用しないでください。
http://www.gotw.ca/publications/mill22.htm
関連部分を引用するには:
道徳#1:書き込みはありませんが例外仕様。
モラル#2:おそらく空の場合を除きますが、もし私があなただったら私はそれを避けるでしょう。
#2の警告は、C++ 11では「noexcept」です。
関連する問題
- 1. VB.NetのSystem.Xml.Linq.XDocumentの宣言に予期しないエラーが発生しました。
- 2. 予期しない例外が
- 3. 派生クラスで宣言された型の抽象プロパティ?
- 4. 予期しない例外によるTestNGの生成エラー
- 5. 派生クラス間で列挙型を宣言する
- 6. エラー:予想される宣言、宣言されていない型 'オブジェクト'の使用、宣言されていない型 'JSON'の使用
- 7. 予期しない例外:ansible2
- 8. XSL予期しないトークン$エラー例外
- 9. 例外:javax.resource.spi.ResourceAdapterInternalException:予期しないエラー
- 10. AndroidスタジオRuntimeException:デックスライタースレッドで予期しない例外が発生しました
- 11. 宣言型サービスを参照していない宣言型サービス
- 12. メソッド宣言の例外。 JAXB
- 13. Common Lispの型宣言が機能していない予想通り
- 14. 例外が予期しないメッセージを返す
- 15. 予期しない例外がスローされました:java.lang.reflect.InvocationTargetException
- 16. ユニットが予期しない例外をテストしていますか?
- 17. 予期しないarrayIndexOutofBound Andengineを使用したゲームの例外
- 18. 予期しないJavaのSimpleDateFormatの構文解析例外
- 19. SDKアップデート後の予期しないトップレベルの例外
- 20. なぜ派生クラスで宣言を使用するのですか?
- 21. 例外仕様に基本型がある場合、関数は派生クラス例外をスローできますか?
- 22. オブジェクト(ポインタではない)を既知の派生型にダウンキャストしても安全ですか?
- 23. 予期しないnilオブジェクト
- 24. forwardはテンプレートC++の派生クラスを宣言します
- 25. JNIで宣言されていない例外
- 26. 予期しないResultSetがSpring Webアプリケーションで閉じられた例外です
- 27. 例外クラスから派生する警告:CA2237:SerializableAttributeでISerializable型をマークする
- 28. URLLoaderを使用すると予期しないFlashセキュリティ例外
- 29. Objective-Cオブジェクト宣言でC++エラーが発生しましたか?
- 30. 'System.Management.MTAHelper'の型初期化子が例外