我开始学习 C++ 编程并且有一个关于错误处理的问题。
我编写了一个从函数计算 x 的代码ax+b=0
(所以我必须除以-b
)a
。这些值由用户通过cin >>
如果我除以 0,我得到-int
我的输出。是否有可能捕获错误(例如在if
声明中)?
我知道除以零是不可能的,而且我也知道如果它不检查用户的输入(例如if ((a != 0)){calculate}
),它不会是一个程序的好行为。问题是我想知道它是否/如何工作来捕获这个错误;-) 它是否取决于硬件、操作系统或编译器?
我的老师帮不了我;)
顺便提一句。我在 Mac OS X 10.8.2 上使用 Eclipse Juno IDE for C/C++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float a, b, x; //float da Kommazahlen erwartet werden
cout << "ax + b = 0" << '\n'<< endl;
cout << "Bitte geben Sie einen Wert für a ein:" << endl;
cin >> a;
cout << "Bitte geben Sie einen Wert für b ein:" << endl;
cin >> b;
x = -b/a;
cout << "Ergebnis:" << x << endl;
if (x == #INF )
{
cout << "Du bist a Volldepp - durch Null kann man nicht teilen!" << endl;
}
return 0;
}