## 22.3 ストリーム反復子によるエラーの表示

istream 反復子と ostream 反復子は、それ自体では演算の成功や失敗を表すことはできません。したがって、演算対象の反復子について、good()、eof()、fail()、 bad() の条件を検査します。これは、basic_ios ( void 例外 (iostate except_mask) ) で設定された例外条件を、ストリーム状態に対して入力演算や出力演算が終わるたびに確認できる便利な機能です。

>     void  print()
>     {
>           ostream_iterator<int, char, char_traits<char> > os(cout);
>            try
>               {
>                   *os = 3;  // 出力 '3'
>                     os++;   // 次の出力を受け取る
>                }
>                 catch(ios_base::failure & emsg)
>                 {
>                       cerr<<emsg.what();
>                 }

>     }

streambuf 反復子は、メンバー関数 `failed()` を呼び出して、ストリームバッファで前回行った演算の成功や失敗を示します。

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。

OEM リリース, 1998 年 6 月