![]() |
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
|
![]() |
Konvt · 标准库中异常构造函数参数类型问题 6 月前 |
![]() |
EarthTurtle · 调整泛型抛出迭代器的异常类型 1 年前 |
![]() |
ê¹ë¯¼ì¬ · 在六边形的建筑中,例外情况应该扔到哪里? 1 年前 |
|
tariqalr · 带有try-catch块的无限循环的编译和返回值 1 年前 |
![]() |
CheezGuy · Python尝试/不停止错误除外 1 年前 |