enum class
<ios> <iostream>

std::io_errc

enum class io_errc;
輸入/輸出錯誤條件
enum class 型別定義了錯誤條件iostream 類別

此列舉至少包含以下標籤
io_errc 標籤描述
stream1流中的錯誤

所有庫實現至少定義此值(stream,值為 1),但可能提供額外的值,特別是當它們需要為iostream 類別生成額外錯誤碼時。

列舉型別 io_errc 的值可用於建立 error_condition 物件,以與 ios_base::failurecode 成員返回值進行比較。

儘管需要注意的是,型別為 ios_base::failure 的異常也可能攜帶其他類別的錯誤碼(例如來自system_category 的錯誤碼)。

非成員函式過載


非成員類特化


示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// io_errc example
#include <iostream>     // std::cin, std::cerr, std::ios,
                        // std::make_error_condition, std::ios_errc
int main () {
  std::cin.exceptions (std::ios::failbit|std::ios::badbit);
  try {
    std::cin.rdbuf(nullptr);    // throws
  } catch (std::ios::failure& e) {
    std::cerr << "failure caught: ";
    if ( e.code() == std::make_error_condition(std::io_errc::stream) )
      std::cerr << "stream error condition\n"; 
    else
      std::cerr << "some other error condition\n";
  }

  return 0;
}

可能的輸出

failure caught: stream error condition


另見