- iostream[meta header]
- std[meta namespace]
- variable[meta id-type]
namespace std {
extern ostream cerr;
extern wostream wcerr;
}
- ostream[link ../ostream/basic_ostream.md]
- wostream[link ../ostream/basic_ostream.md]
cerr
もwcerr
も、標準エラー出力に対する出力ストリームオブジェクトである。
すなわち、std::basic_streambuf
から派生していて<cstdio>
のstderr
オブジェクトに結びつけられているストリームバッファに出力する。
本オブジェクトは、初期化が完了すると tie
()
が &
cout
を返すようになる。
clog
と異なる点は、unitbuf
フラグが指定されていることである。そのため、出力操作のたびにバッファの吐き出しが行われる。
その他の状態は、basic_ios
::
init
の事後条件と同様である。
cerr
はcharacter error (stream)
を意味する。またwcerr
はwide character error (stream)
を意味する。[1]
#include <iostream>
#include <vector>
int main()
{
try
{
std::vector<int> v;
v.at(42) = 1;
}
catch(const std::exception& e)
{
std::cerr << "問題発生: " << e.what() << std::endl;
}
}
- std::cerr[color ff0000]
- v.at[link /reference/vector/vector/at.md]
- std::exception[link /reference/exception/exception.md]
問題発生: invalid vector<T> subscript
出力内容は環境により異なる。
- C++98
- ^ Stroustrup: C++ Style and Technique FAQ(2018-08-21 17:01 JST 閲覧)