1
67
a.
C++不是从第一天就建立异常的。C类课程”始于1979年,1989年又增加了例外情况。与此同时,
裁判:
B.
你
可以
启用例外
the
|
2
5
正如肯尼所说,如果需要,可以启用异常。但通常情况下,当发生错误时,I/O需要某种类型的恢复式编程,这是使用异常不容易支持的——在输入操作之后测试流的状态要简单得多。我从未见过任何在I/O.上使用异常的C++代码。 |
3
4
好吧,现在是“回答我自己的问题”的时候…… 首先,感谢KennyTM的历史。正如他所说,C++是 不是 从第一天起就有例外设计,所以IOstreams的“例外”处理随后就被固定了,这不足为奇。 其次,正如尼尔B所指出的,输入格式转换错误的异常情况将是一个巨大的痛苦。这让我吃惊,因为我把iostreams看作是一个简单的文件系统包装层,而我根本没有考虑过这种情况。 第三,它似乎给聚会带来了一些东西: Boost.IOStreams . 如果我理解正确,这些处理流的低级I/O和缓冲方面,留下规则的C++ IOFScript库来处理转换问题。IP流 does use exceptions 以我所期望的方式。如果我理解正确,Kenny的例子也可以是这样的:
我 认为 在这个版本中,诸如“找不到文件”之类的东西应该抛出,但是“IStream”错误将由badbit/failbit报告。 |
4
3
|
Julia · 矢量中相加为总和S的值的数量 1 年前 |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
quantumwell · 将空向量放入std::map() 6 年前 |
OutOfBound · 对未初始化内存使用算法的优点 6 年前 |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 6 年前 |