2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
全31件 (31件中 1-31件目)
1
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/15.2 多重継承・クラス宣言の : の後ろに複数の基底クラスを指定することができる。・単純継承しかサポートされていなければ、実装時にプログラマの選択肢が狭まる。
2009年01月31日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/第15章 クラス階層15.1 イントロダクションと概要・クラスは基底クラスの束から作られる。歴史的に木構造だったので、クラス階層と呼ばれる事が多い。・クラスは、他のクラスをどのように使って組み立てられているかについてユーザーが過度に惑わされないように設計すべきです。
2009年01月30日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.10 標準例外・標準ライブラリの例外は <exception> で宣言されている exception クラスを根とするクラス会層の一部になる。・exception 階層に自分の例外を追加することもできる。14.11 アドバイス14.12 練習問題
2009年01月29日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.9 エラー処理のためのその他の方法・ハンドラを効果的に使うためには、さまざまな例外の使い方やエラー処理に関して統一方針を持っていなければならない。・うまく作られたフォルトトレラントシステムでは複数のレベルで構成されできる限り多くのエラー処理を処理することができる。・terminate() や unexpected() の概念は上位の例外処理がうまく処理できなかったときのためにある。・C ライブラリと C++ 例外をうまくつなぐために errno をチェックしたり逆に errno に書き込むこともできる。
2009年01月28日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.8 例外と効率・例外は投げられなければ実行時のオーバーヘッドが一切かからないように実現することができる。・例外を使わずに同じことをするコードは長くなる。しかし、それがいつも必要だというわけでもない。・従来のC関数で例外を投げるのはごく一部で atexit(), sort() など。
2009年01月27日
コメント(3)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.7 キャッチされない例外・例外をキャッチしないと std::terminate() が呼び出される。・set_terminate() によって設定される _uncaught_handler によって応答が決まる。デフォルトでは abort() を呼び出すようになっている。・キャッチされない例外を発生したときの後始末を行わせたい場合には main() 関数にすべての例外をキャッチするハンドラを追加すればよい。
2009年01月26日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6.3.2 例外型の復元・例外を変換されたことを知ることができるが、どの例外が変換されたのかは知ることができない。・すぐに catch するように再度 throw しなおし知っている型で catch できるかどうかで元の型を知ることができる。
2009年01月25日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6.3.1 例外のユーザー定義変換・ライブラリの拡張のためもともと exception-specification を使って書かれているものを拡張することを考えます。コードをいじりたくない場合は set_unexpected() によってユーザー指定の関数を定義し、その中で処理できるようにします。・もともとの unexpected_handler を保存・復元することによって複数のサブシステムが互いに相手の邪魔をすることなく予期せぬ例外の処理を制御できるようになります。
2009年01月24日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6.3 例外の変換・予期せぬ例外が発生したときにプログラムが終了すると困るので exception-specification に標準ライブラリ例外の std::bad_exception を追加することで回避します。・この場合 unexpected() は、プログラムを終了させようとする関数を呼び出す代わりに bad_exception を投げるようになります。ただし、どの例外が問題を起こしたかという情報が失われてしまいます。
2009年01月23日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6.2 予期せぬ例外・テスト期間以外では、 unexpected() 呼び出しは望ましくないので unexpected() 呼び出しを横取りして、害の無いものにできる。・適切に定義されたサブシステムは、自分が発生させるすべての例外を派生クラスとして構造化していることが多い。標準ライブラリが投げる例外はすべて exception クラスの派生クラスである。
2009年01月22日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6.1 例外指定のチェック・関数の1つの宣言が exception-specification を持つ場合、その関数の全ての宣言は、同じ例外型を指定した exception-specification を持たなければならない。・仮想関数を上書きできるのは元の仮想関数の exception-specification と同じかそれよりも厳しい exception-specification を持つ関数だけになる。
2009年01月21日
コメント(3)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.6 例外の指定・関数宣言の一部にどのような例外を投げる可能性があるかどうかを指定できる。例えば void f(int a) throw (x2,x3) と書いておけば例外として x2, x3 とその派生したものだけを投げる。関数がその保証を破ると std::unexpected が呼び出される。・重要なメリットとしては関数宣言だけを観て概要が把握しやすい事、さらに手で同様のコードを書くよりも短く明確になる。
2009年01月20日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.5 エラーではない例外・まったく悪影響を持たない例外もあり予定通りにキャッチされる場合、単純に別個の制御構造と考えると良い。・ツリー構造での探索のように何度も再帰するような物を終了指せるためのエレガントな方法になり得ます。
2009年01月19日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.7 デストラクタのなかでの例外・例外処理中のスタックの巻き戻し中にデストラクタ自身から抜け出すことができない場合があり、その場合は例外処理メカニズムのエラーと見なされ std::terminate() が呼び出される。・標準ライブラリ関数の uncaught_exception() は投げられた例外がキャッチされていないときに true を返す。これを利用することでデストラクタに別々の処理をさせることができる。
2009年01月18日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.6.1 例外とメンバの初期設定・メンバの初期設定子が例外を投げたら、デフォルトではそのメンバのコンストラクタを呼び出したコードに例外が渡される。しかし try_block でメンバの初期設定リストを含む関数本体の全体を囲めば、コンストラクタ自身がそれらの例外をキャッチできる。・標準ライブラリはコピーコンストラクタが例外を投げずに動作することを前提としている。
2009年01月17日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.6 コンストラクタのなかでの例外・例外を使うことで、コンストラクタで発生したエラーの報告方法の問題を解決することができる。コンストラクタは呼び出し側に対してテストすべき値を返さないので、他の方法ではスマートに解決できない。・例外とともに適切な情報を渡していれば、問題に対処するために使える情報は増える。
2009年01月16日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.5 資源の不足・資源不足の時、「再開」呼び出し側コードに問題の解決を要求して、実行を続けると「終了」処理を中断して、呼び出し側コードに制御を返すの2通りの方法がある。・C++ では再開モデルは関数呼び出しアルゴリズムで終了モデルは例外処理メカニズムによってサポートされている。
2009年01月15日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.4 例外と new ・X* p1 = new X ; としたとき X のコンストラクタで例外を投げてもメモリは解放される。・ただし、配置構文を使った場合には、 operator new() を使った場合は operator delete() があればそれが呼び出される。配列も同様に処理される。
2009年01月14日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.3 注意・すべてのプログラムがすべての形態のエラーから回復しなければならないということはない。・単純なプログラムでは適切なメッセージを表示した後で異常終了し確保した資源の開放をシステム任せにする。
2009年01月13日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.2 auto_ptr・auto_ptr はポインタによって初期化され、ポインタと同じように使える。また、指しているオブジェクトは、 auto_ptr のスコープが外れたところで暗黙のうちに削除される。・破壊的セマンティクス:auto_ptr を別の auto_ptr にコピーしたとき、コピー元のポインタはもう何も指さなくなる。コピーによって値が変わるので const auto_ptr をコピーすることはできない。
2009年01月12日
コメント(1)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4.1 コンストラクタとデストラクタの使い方・オブジェクトは、コンストラクタの処理が完了するまで構築されたと見なされない。スタックの巻き戻しによってオブジェクトのデストラクタが呼び出されるようになるのはオブジェクトが完全に構築されてから。
2009年01月11日
コメント(3)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.4 資源管理・資源管理はクラスにしてコンストラクタで資源を確保し、デストラクタで開放するのが良い。・スタックを巻き戻して例外ハンドラを探す際にそれぞれの関数で構築された局所オブジェクトのデストラクタが呼び出される。
2009年01月10日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.3.2.1 ハンドラの順番・派生例外は様々な例外型のハンドラによってキャッチされる可能性があるのでハンドラの順番が重要になっている。
2009年01月09日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.3.2 全ての例外のキャッチ・catch(...) は任意の例外をキャッチするという意味になる。・このようなハンドラが最もエレガントな解決方法を提供刷るわけではない重要なケースも多く存在する。
2009年01月08日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.3.1 再スロー・例外をキャッチしても、ハンドラがそのエラーを完全に処理することはできないと判断することは良くある。その場合は、ハンドラは局所的にできることをしてから、例外を再び投げる。・つまりエラーは最も適切な場所で処理できる。
2009年01月07日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.3 例外のキャッチ・関数引数に const を加えられるのと同じように、例外をキャッチするときに使われる型にも const を追加することができる。・原則として、例外は投げられた時にコピーされるので、ハンドラは元の例外のコピーを保持することになる。そのためコピーできない例外を投げることはできない。
2009年01月06日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/14.2.2 複合例外・構造化された例外が全て木構造を持つとは限らない。例えばネットワークエラーとファイルシステム例外を両方キャッチするようにもできる。
2009年01月05日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/ref=pd_bbs_1/503-0201534-0257540?ie=UTF8&s=books&qid=1189839205&sr=8-14.2.1 例外派生クラス・例外処理でクラス階層が使われているということは、例外が運ぶ情報の一部にしか興味を示さないハンドラが作られるという事です。・例外のキャッチと命名が持つセマンティクスは、1個の引数を受け付ける関数と同様。・キャッチされた例外は、投げられた例外をスライスした物になっているので、情報を失わないようにするためにはポインタやリファレンスを使うのが良い。
2009年01月04日
コメント(5)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/ref=pd_bbs_1/503-0201534-0257540?ie=UTF8&s=books&qid=1189839205&sr=8-14.2 例外の分類・例外とは例外的な状況を表現する何らかのクラスのオブジェクトである。throw には、例外を投げた関数を直接、間接的に呼び出した関数のなかに適切な catch が見つかるまでスタックを巻き戻すという効果がある。・例外を構造化し、例外処理を助ける上で、継承が役に立つことがある。
2009年01月03日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/ref=pd_bbs_1/503-0201534-0257540?ie=UTF8&s=books&qid=1189839205&sr=8-14.1.1 例外についてのもう1つの見方・C++ の例外処理メカニズムは、エラーなどの例外的な状態の処理をサポートするために設計されている。・例外処理メカニズムは、スタックの巻き戻しに基づく非局所的な制御構造であり、第2のリターンメカニズムと見ることもできる。・プログラムの実行中、ほとんどひっきりなしに発生するイベントも例外的だと見なすしかない。例外的にはほとんど発生しないとか危険といった意味は無く、要求されたことをできなかったシステムの部分。
2009年01月02日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9EC-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%A2%E3%82%B8%E3%82%BD%E3%83%B3%E3%82%A6%E3%82%A7%E3%82%B9%E3%83%AC%E3%82%A4%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Ascii-Addison-Wesley-programming/dp/475611895X/ref=pd_bbs_1/503-0201534-0257540?ie=UTF8&s=books&qid=1189839205&sr=8-第14章 例外処理14.1 例外処理・例外(exception)の概念は、エラーの対処を行うための物。・例外処理は通常のコードとエラー処理コードを明示的に分割する手段を提供する。・エラーに対するデフォルトの応答はプロフラムの終了になっているので、全ての例外をキャッチする必要がある。
2009年01月01日
コメント(0)
全31件 (31件中 1-31件目)
1


