執行 i = i / 0; 導致程式異常終止,除錯器顯示:Program terminated with signal SIGFPE, Arithmetic exception.
處理器在執行整數除法指令時,偵測到除數為零,觸發硬體異常(x86 上為 #DE,對應 Unix 的 SIGFPE)。作業系統捕獲此異常並向進程發送信號,預設動作為終止進程並產生核心轉儲。
雖然現代 CPU 有專門除法指令,但早期或簡易架構確實透過減法/加法迭代實現除法。無論實現方式,除數為零在數學上無定義,硬體均會攔截並報錯。
在除法運算前務必檢查除數是否為零,或使用語言提供的安全除法函式(如 C# 的 checked 區塊無法捕獲整數除零,需手動判斷)。