1
我有計算一個簡單的C程序(1e200)^ 2,這應該引起一個浮點溢出異常以來的最大double
是1e308左右。要捕獲浮點溢出excepiton
double square(double x){
return x*x;
}
int main(){
double x = 1e200;
double y= square(x);
}
我的問題是:
(1)你怎麼能通過命令行捕獲例外,在這樣的方式運行程序時,除了可以打印出到終端?
(2)你怎麼可以捕獲通過注射打印出程序執行過程中的浮點異常信號附加聲明的例外呢?爲了通用性,我寧願不使用y==inf
來實現此目標。
謝謝。
有關檢查錯誤的非自動方式,請參閱[此處](http://stackoverflow.com/q/15655070/478288)。 – chrisaycock
像'如果(Y == INF){printf的( 「溢出」);}'? –
@ KamiKaze-- AFIK,實現不需要使用'inf'。 –