异常处理
这是一个对c++工程代码测试的一种方式。主要用于编译通过,但是运行出错的工程,而且可以在不中断工程的情况下抛出异常,最重要的是可以确定错误的类型,和出错的函数。这样就不用使用print()调试大法了。
关键字介绍
- try: 测试的代码就是放在try{ }中,如果测试的代码块中发生异常,并由throw抛出,catch就会来接受这个异常。
- throw: throw是放在try块中的,throw的工作方式有点像return,当程序运行到throw时,throw后面的表达式就会被抛出,try块中的程序立刻结束,程序权会交给对应的catch。
- catch: try后面会跟着很多catch,catch的形参代表着异常的类型,抛出的异常类型会找到相对应的catch块。(事实上,我们一般只会写一个catch函数,这个catch的形参可以接受所有的异常类型),catch块运行结束后,程序会顺序执行后面的代码,这样就保证了程序不中断。
代码:
#include <iostream>
using namespace std;
double division(int a, int b)
{
if( b == 0 )
{
throw "Division by zero condition!";
}
return (a/b);
}
int main ()
{
int x = 50;
int y = 0;
double z =