else
{
// figure out how to fo out of range excetpion.
throw std::out_of_range("An exception occurred: Grade must be between 0.000000 and 100.000000");
//throw std::out_of_range("Grade points must be between 0.000000 and 100.000000.");
}
我收到错误:
Percentage grade: 10000
terminate called after throwing an instance of 'std::out_of_range'
what(): An exception occurred: Grade must be between 0.000000 and 100.000000"
我如何删除它?:
terminate called after throwing an instance of'std::out_of_range'
what():"
您可以删除此:
terminate called after throwing an instance of'std::out_of_range'
what():"
通过使用类似的代码,如下所述:
int x = 10;
int y = 0;
int z = 0;
try {
if (y == 0) throw ("Something wrong going on!"); // throwing string as error
z = x / y;
std::cout << z << std::endl;
} catch (const char *m) {
std::cerr << m << std::endl; // printing error
}
您得到类似的东西:
Something wrong going on!
消息。当您使用std::out_of_range
之类的函数时,它将显示有关程序执行期间实际从何处抛出的信息。您可以通过不使用函数来抑制它,而直接在throw语句中使用字符串。