2
A
答えて
3
X11エラーハンドラは、Xlibがユーザから提供しコールバックするコールバックです。エラーハンドラからスローされた例外は、Xlibコードを介してXlib(通常はXNextEventまたはフレンド)を呼び出すユーザコードに伝播します。
foo() <C++>
|
[error is detected by Xlib] <C>
|
[some more Xlib code] <C>
|
[some Xlib code] <C>
|
XNextEvent() <C>
|
main() <C++>
XlibにはC++で書かれていませんので、C++ランタイムは必ずしもXlibのコードのスタック巻き戻しを行う方法を知りません。たとえそれが正常に解消されたとしても、エラーハンドラを呼び出す前にXlibによって割り当てられたメモリなどのリソースが失われる可能性があります。 Cには自動デストラクタはありません!
関連する問題
- 1. 例外のメッセージを公開するのは安全ですか?
- 2. Pythonの例外安全性の状態は何ですか?
- 3. std :: vector <> :: emplace_back()の例外は安全ですか?
- 4. clCreateContext()に登録されたコールバックでC++で例外をスローすることは安全ですか?
- 5. メモリアリーナでの例外安全性
- 6. JwtBearerAuthentication安全なハンドル例外
- 7. InitOnceExecuteOnce例外安全性
- 8. 例外から例外をスローする
- 9. [NSObject removeObserver:forKeyPath:]から例外をキャッチするのは安全ですか?
- 10. Boolean.class.newInstance()が例外をスローするのはなぜですか?
- 11. reader.GetOrdinal( "FieldName")が例外をスローするのはなぜですか?
- 12. 例外の安全性とmake_unique
- 13. ファンクションコールの例外安全について
- 14. Flaskエラーハンドラ、ロールバックmysql例外
- 15. Bluebirdがソースコードで例外をスローする
- 16. サーブレットでwait()が例外をスローする
- 17. =例外をスローする例外
- 18. xメモリコードのC++例外が深くスローされる
- 19. Silex:特定の例外タイプのエラーハンドラ
- 20. 新しい例外オブジェクトへの例外オブジェクト参照を渡すことは安全ですか?
- 21. ビューがnull例外の安全であることを保証する方法
- 22. Visual Studio 2015が例外キャッチブロックで例外をスローする
- 23. OrmLiteはメモリデータベースの例外をスローする
- 24. なぜこのコードは例外をスローするのですか?
- 25. Jquery ajaxエラーハンドラ関数は存在しますが、まだ例外がスローされます
- 26. FxCopはコマンドラインで例外をスローしますが、GUIでは例外をスローしませんか?
- 27. 例外安全なコードと移動セマンティクス
- 28. `JSON.parse`が例外をスローしないのはなぜですか?
- 29. openFileOutput例外をスローする
- 30. OutOfMemoryError例外をスローする
Xlibを知らなくても、私はC++の例外とXlibのエラーがかなり直交していると思います。例外をキャッチし、リソースが適切にクリーンアップされることを保証するならば、これは安全でなければなりません。 –
絶対に安全ではありません。 C++の例外をCコードで投げることはできません。 –
@ n.m。回答を投稿する何故なの? – Pubby