捕獲異常:除以零當我嘗試除以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 ++能夠在算術運算時匹配其他語言的行為。它還避免了在流水線嚴重的體系結構中出現的問題,其中除以零之類的事件是異步的?!?/p>
- 3 回答
- 0 關注
- 592 瀏覽
添加回答
舉報
0/150
提交
取消