第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C ++:捕獲除零錯(cuò)誤

C ++:捕獲除零錯(cuò)誤

開心每一天1111 2019-08-28 13:44:57
C ++:捕獲除零錯(cuò)誤這是一段簡單的代碼,其中除以零。我想抓住它:#include <iostream>int main(int argc, char *argv[]) {     int Dividend = 10;     int Divisor = 0;     try {         std::cout << Dividend / Divisor;     } catch(...) {         std::cout << "Error.";     }     return 0;}但是應(yīng)用程序無論如何都會(huì)崩潰(即使我選擇-fexceptions了MinGW)。是否有可能捕獲到這樣的異常(我理解的不是C ++異常,而是FPU異常)?我知道我可以在分割之前檢查除數(shù),但是我假設(shè),因?yàn)槌闶呛币姷模ㄖ辽僭谖业膽?yīng)用程序中),嘗試分割會(huì)更有效(并且如果它發(fā)生)而不是每次除數(shù)前的除數(shù)。我正在WindowsXP計(jì)算機(jī)上進(jìn)行這些測試,但是想讓它跨平臺。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

除以零是一個(gè)邏輯錯(cuò)誤,程序員的錯(cuò)誤。你不應(yīng)該嘗試應(yīng)對它,你應(yīng)該調(diào)試并消除它。此外,捕獲異常是非常昂貴的 - 比分?jǐn)?shù)檢查更多。

您可以使用結(jié)構(gòu)化異常處理來捕獲除以零的錯(cuò)誤。如何實(shí)現(xiàn)取決于您的編譯器。MSVC提供了一個(gè)捕獲結(jié)構(gòu)化異常的函數(shù),catch(...)并且還提供了將結(jié)構(gòu)化異常轉(zhuǎn)換為常規(guī)異常以及提供__try__except/的功能__finally。但是我對MinGW不太熟悉,告訴你如何在該編譯器中完成它。


查看完整回答
反對 回復(fù) 2019-08-28
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

  1. 沒有一種語言標(biāo)準(zhǔn)的方法可以從CPU中捕獲零除零點(diǎn)。

  2. 不要過早“優(yōu)化”一個(gè)分支。您的應(yīng)用程序在此上下文中是否 真的受 CPU限制?我對此表示懷疑,如果你破壞你的代碼,它并不是真正的優(yōu)化。否則,我可以讓你的代碼更快:

    int main(int argc, char *argv[]) { /* Fastest program ever! */ }


查看完整回答
反對 回復(fù) 2019-08-28
  • 3 回答
  • 0 關(guān)注
  • 957 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號