0

ファイルを開くのに失敗したときに例外をスローする方法fstreamはありますか?どうすればよいですか?

std::fstream.exceptions()メソッドとそれにビットを割り当てる方法については知っていますが、どの「ビット」が例外をスローするのでしょうか?

4

2 に答える 2

2

Iostream は、fail、bad、および eof の 3 つの異なる障害状態のいずれかになります。ドキュメントには、それらのいずれかで例外をスローする方法が明確に示されています。デフォルトでは、それらのいずれも行いませんが、ブール コンテキストでストリーム オブジェクトを評価するfalseと、障害モードのいずれかが発生したかどうかが返されます。

例:

#include <fstream>

std::ifstream infile;
infile.expections(std::ios::failbit);
infile.open("foo.txt");    // throws on failure
于 2013-10-23T15:16:26.747 に答える