概要
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;
}
}
xxxxxxxxxx
#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;
}
}
出力例
問題発生: invalid vector<T> subscript
出力内容は環境により異なる。
バージョン
言語
- C++98
出典
- ^ Stroustrup: C++ Style and Technique FAQ(2018-08-21 17:01 JST 閲覧)