gpt4 book ai didi

c# - C# 的 C++ ifstream 异常掩码

转载 作者:行者123 更新时间:2023-11-30 05:46:32 25 4
gpt4 key购买 nike

我如何将此行从 C++ 转换为 C#?

std::ifstream in;
in.exceptions(std::ios_base::badbit); //*THIS LINE*

根据 this page ,上一行代码为流设置了一个新的异常掩码并清除了所有当前错误状态标志。我还猜测它是上面链接页面中 std::ios::exceptions 的“第二种形式”。

由于我对 C# 的 FileStream 类没有经验,我一直很困惑,因为没有类似的东西。

最佳答案

两者都是FileStream.ReadFileStream.Write方法将抛出 IOException如果发生任何潜在的 I/O 错误。这是默认行为。

与 C++ 不同,异常抛出是 C# 中错误处理的预期形式。因为异常从一开始就是 .NET 的一部分,所以没有 the contention与 C++ 一样,在流中使用异常。

大多数(如果不是全部).NET 框架标准库将在异常状态下抛出异常。我能想到的唯一异常(exception)是使用 Try-Parse pattern ,这对预期行为非常明确。

关于c# - C# 的 C++ ifstream 异常掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28863767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com