C++设置"blank"或重置 ifstrean (ios) 的异常掩码
C++ set "blank" or reset exception mask of ifstrean (ios)
有没有办法将ios
对象的异常掩码重置为"默认"值?(它是由标准定义的吗?我原本对ifstream
感兴趣,我得ios
追踪ifstream
的遗产。
我在这里找到了一个解决方法,但这取决于将对象的掩码的原始状态存储在变量中,这可能不可用。
exceptions
成员函数继承自ios
。这是一个std::ios_base::iostate
,有 3 个可能的位要设置:badbit
、failbit
和 eofbit
。"默认状态"为 std::ios_base::goodbit
(0(。所以只需my_ifstream.exceptions(0)
重置它(my_ifstream.exceptions(std::ios::goodbit)
也可以工作并且更清晰(。
相关文章:
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- C++中的赋值发生,尽管右侧出现异常
- 使用ios:ate写入到流会覆盖现有文件
- 从构造函数抛出异常时如何克服内存泄漏
- 异常属于C++中的线程还是进程
- 当类定义不可见时捕获异常
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 为什么异常不退出程序?
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- C++ std::locale( "en" ) 在 iOS 上引发异常
- C++设置"blank"或重置 ifstrean (ios) 的异常掩码
- C++XCode iOS项目中未捕获的异常
- 在IOS中使用c++类后出现糟糕的异常
- 在iOS中启用异常
- 如何在iOS Objective-C中捕获C++异常代码
- Crashlytics Fabric错误地处理了从32位平台上的swift ios调用的throw std::异常