1.直接终止程序(自杀)
例如
int main(){
int a = 10;
int b = 20;
int c = a/0;
return 0;
}
2.返回一个错误的值,附加错误码
这种错误处理方式也很常见,比如我们用C语言打开一个文件失败时:
#include <stdio.h>
#include <errno.h>
int main(){
FILE* fp = fopen("test.txt","r");
if(NULL==fp){
printf("文件打开失败,错误码:%d\n",errno);
}
return 0;
}
3.返回一个合法的值,让程序处于某种非法的状态
这种例子,最常见的就是atoi函数,例如:
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = atoi(“123456789”);
int b = atoi(“dasdasdcs”);
printf("a = %d\n",a);
printf("b = %d\n",b);
}
4.try——catch
#include<iostream>
#include<stdlib.h>//必要的头文件
using namespace std;
double fun(double n,double m)//除法
{
if(m==0)
throw n;
else
return n/m;
}
int main()
{
double x;
try{
x=fun(4,2);
cout<<"x的值为"<<x<<endl;//正常输出
x=fun(4,0);//发生错误
}
catch(double)
{
cerr<<"发生错误:除数为0"<<endl;
exit(1);
}
return 0;
}