共用方式為


ios_base::failure

failure 類別會定義函式擲回的例外狀況,所有物件型別的基底類別 iostreams 在程式庫中,報告資料流緩衝區作業期間偵測到的錯誤。

namespace std {
    class failure : public system_error {
    public:
        explicit failure(
            const string& _Message, 
            const error_code& _Code = io_errc::stream
        );
        explicit failure(
            const char* _Str, 
            const error_code& _Code = io_errc::stream
        );
};

備註

what傳回的() 值是 _Message複本,可以增加以 _Code的測試。 如果未指定 _Code ,預設值為 make_error_code(io_errc::stream)。

範例

// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main ( ) 
{
   using namespace std;
   fstream file;
   file.exceptions(ios::failbit);
   try 
   {
      file.open( "rm.txt", ios_base::in );
      // Opens nonexistent file for reading
   }
   catch( ios_base::failure f ) 
   {
      cout << "Caught an exception: " << f.what() << endl;
   }
}
  

需求

標題: <ios>

命名空間: std

請參閱

參考

ios_base 類別

system_error 類別

iostream 程式設計

iostreams 慣例