C++ 异常的详细介绍异常的详细介绍
主要介绍了C++ 异常的详细介绍的相关资料,希望通过本文大家能够掌握C++异常的使用方法,需要的朋友可以
参考下
C++ 异常的详解异常的详解
程序有时会遇到运行阶段错误,导致程序无法正常执行下去。c++异常为处理这种情况提供了一种功能强大的而灵活的工具。
异常是相对比较新的C++功能,有些老编译器可能没有实现。另外,有些编译器默认关闭这种特性,我们可能需要使用编译器
选项来启用它。
一、异常机制的使用一、异常机制的使用
异常提供了将控制程序的一个部分传递到另一部分的途径。对异常的处理有3个组成部分:
引发异常
使用处理程序捕获异常
使用try块
示例代码:
#include "stdafx.h"
#include <iostream>
double hmean(double a, double b);
int main()
{
double x, y, z;
std::cout << "Enter two numbers: ";
while (std::cin >> x >> y) {
try
{
z = hmean(x, y);
}
catch(const char *s ){
std::cout << s << std::endl;
std::cout << " Enter a new pair of numbers: ";
continue;
}
std::cout << "Harmonic mean of " << x << " and " << y << " is " << z << std::endl;
std::cout << "Enter next set of numbers <q to quit>: ";
}
std::cout << "Bye! ";
system("pause");
return 0;
}
double hmean(double a, double b) {
if (a == -b) {
throw "bad hmean() arguments a= -b not allowed";
}
return 2.0 *a*b / (a + b);
}
Enter two numbers: 3 6
Harmonic mean of 3 and 6 is 4
Enter next set of numbers <q to quit>: 10 -10
bad hmean() arguments a= -b not allowed
Enter a new pair of numbers: q
Bye!
请按任意键继续. . .
程序说明:
try块:
try
{
z = hmean(x, y);
}
引发异常的代码:
if (a == -b) {
throw "bad hmean() arguments a= -b not allowed";