捕获异常:除以零当我尝试除以0时,下面的代码没有捕获异常。我是否需要抛出异常,或者计算机是否在运行时自动抛出一个异常?int i = 0;cin >> i; // what if someone enters zero?try {
i = 5/i;}catch (std::logic_error e) {
cerr << e.what();}
3 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
据我所知,C ++规范没有提及除零除外的任何内容。我相信你需要自己做...
Stroustrup在“C ++的设计和演变”(Addison Wesley,1994)中说,“低级事件,例如算术溢出和除以零,假设由专用的低级机制而不是异常处理这使得C ++能够在算术运算时匹配其他语言的行为。它还避免了在流水线严重的体系结构中出现的问题,其中除以零之类的事件是异步的。“
- 3 回答
- 0 关注
- 560 浏览
添加回答
举报
0/150
提交
取消