table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::iostream_category(3) | C++ Standard Libary | std::iostream_category(3) | 
NAME¶
std::iostream_category - std::iostream_category
Synopsis¶
 Defined in header <ios>
  
   const std::error_category& iostream_category() noexcept; (since
    C++11)
  
   Obtains a reference to the static error category object for iostream errors.
    The
  
   object is required to override the virtual function error_category::name() to
    return
  
   a pointer to the string "iostream". It is used to identify error
    codes provided in
  
   the exceptions of type std::ios_base::failure.
Parameters¶
(none)
Return value¶
 A reference to the static object of unspecified runtime type,
    derived from
  
   std::error_category.
Example¶
// Run this code
  
   #include <fstream>
  
   #include <iostream>
  
   int main()
  
   {
  
   std::ifstream f("doesn't exist");
  
   try
  
   {
  
   f.exceptions(f.failbit);
  
   }
  
   catch (const std::ios_base::failure& e)
  
   {
  
   std::cout << "Caught an ios_base::failure.\n"
  
   << "Error code: " << e.code().value()
  
   << " (" << e.code().message() << ")\n"
  
   << "Error category: " << e.code().category().name()
    << '\n';
  
   }
  
   }
Possible output:¶
 Caught an ios_base::failure.
  
   Error code: 1 (unspecified iostream_category error)
  
   Error category: iostream
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   LWG 2087 C++11 iostream_category was not declared noexcept declared
  noexcept
See also¶
 failure stream exception
  
   (public member class of std::ios_base)
  
   io_errc the IO stream error codes
  
   (C++11) (enum)
| 2024.06.10 | http://cppreference.com |