
アドバンス例外処理
例外を投げる
あなたのコードで例外的な状況に遭遇した場合?それは、1つの場合はドンですか?tは何をすべきかを決定する現在のコンテキストで十分な情報がありますか?あなたは含まれているオブジェクトを作成することによってより大きな文脈の中に、エラーに関する情報を送信することができますその情報と?は投げ? それはあなたの現在のコンテキストの。 これは、例外をスローと呼ばれます。 ここでは何なのか、それは次のようだ:
クラスMyErrorは(const char *をconstはデータ、公共:MyError(const char *をのconst msgは= 0):データが((msg)は、());無効fは()(/ /ここでは、MyErrorを"スロー"例外が:オブジェクト投げる"何かが起こった悪い");)あなたのmain()(/ /としてint型は?llのを参照してくださいまもなく/ /ね?llがしたい"tryブロック"はこちら:fは();)///:~ MyErrorこの場合は、コンストラクタの引数としてchar *を取る普通のクラスです。 任意の型を使用することができますときにスロー(を含む組み込み型)が、通常?llは例外をスローするための特別なクラスを作成します。
キーワードは、原因に発生する比較的魔法の多くのことをスローします。 まず、それはあなたが再スロー?と、実際にはオブジェクトのコピーを作成し、?を返します? 関数にもかかわらず、そのオブジェクトのタイプを買い求める客?tは、通常どのような関数が返すように設計されて式を投げる含むそれがどこから。 ナは?VEの方法の例外処理についての代替復帰機構として(ただし、あなたが遠くアナロジーを取る場合は、トラブルに)を取得することができますを見つける考える。 また、普通のスコープから例外をスローすることによって終了することができます。 いずれにせよ、値が返され、関数またはスコープを終了します。
任意の類似度を返す関数が存在するためここでは、戻り両端はいくつかの場所から完全に異なっている場合、通常の関数呼び出しを返します。 (あなたがコードの適切な部分で終わる?例外ハンドラが呼び出さ?そこまで例外がスローされた場所から削除される可能性があります。)さらに、任意のローカルオブジェクトは例外が発生した時点で作成破棄されます。 ローカルオブジェクトのこの自動クリーンアップが呼ばですか?巻きスタック?
ページ: [ページ- 1] [ページ- 2] [ページを見る- [3] [ページ- 4] [ページ- [5] [ページ- 6] [ページ- 7]
タグは、: Cプログラミング 、 C + +の例外 、 C + +プログラミング 、 キャッチ 、 クラスは 、 エラーが 、 例外は 、 プログラミングは 、 試して
同様にあなたが参照してください何ですか?
購読して1つの常連になる! あなたは、私たちはこのようにさらにお得な記事を追加するかを最初になります。 参加までのいずれかでRSSフィードや電子メールの更新は本日!
この記事へのコメントはありません。 あなたはを通してこのエントリへの応答に続くことができるのRSS 2.0フィード。あなたは最後まですることができますスキップして、応答を残しまたはトラックバックをサイトから自分の。


































