16.1.2 返回错误标志
当某些错误发生时,使用abort函数或exit函数来结束程序似乎有些过激,实际上可通过返回错误标志,让上级调用函数作出判断,如代码16.2所示。
代码16.2 返回错误标志ReturnErrorCode
<———————————-文件名:example1602.cpp———————————————> 01 #include<iostream> 02 #include<cstdlib> 03 using namespace std; 04 bool pd(int x,int y) 05 { 06 if(y==0) 07 return false; 08 return true; 09 } 10 int main() 11 { 12 int x=0,y=0; 13 while(!pd(x,y)) 14 { 15 cout<<"请输入两个整数:"<<endl; 16 cin>>x>>y; 17 } 18 cout<<"x/y is"<<(x/y)<<endl; 19 return 0; 20 }
输出结果如下所示。
请输入两个整数: 2 0 请输入两个整数: 5 0 请输入两个整数: 4 2 x/y is 2
【代码解析】代码第4~9行,编写了pd函数对用户输入的两个整数x和y进行判断,符合x/y条件(y不等于0)时pd函数返回true,否则返回false,而后只要在main函数中判断pd返回值的真假,便可知道是否合法,提示用户不断输入,直到输入的y非0,输出x/y,程序退出。如此来看,代码16.2并没有因一次输入失败便结束整个程序,而是采取了更为友好的方式提醒用户重新输入。