为了账号安全,请及时绑定邮箱和手机立即绑定

编译通过了所以总感觉哪里不对?求教!

#include <iostream>#include <string>#include <stdlib.h>using namespace std;/** * 定义函数division * 参数整型dividend、整型divisor */int division(int dividend, int divisor){    if(0 == divisor)	{        // 抛出异常,字符串“除数不能为0”        cout<< string("除数不能为0");	}	else	{		return dividend / divisor;	}}int main(void){	int d1 = 0;	int d2 = 0;	int r = 0;	cin >> d1;	cin >> d2;    // 使用try...catch...捕获异常	try	{	   division(d1,d2);	}	catch(string)	{	   	}	return 0;}


正在回答

3 回答

代码确实有问题,你这个没有使用抛出,只是try执行那个函数是打印了语句,并没有用到throw,所以不算是异常处理

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
/** * 定义函数division * 参数整型dividend、整型divisor */
int division(int dividend, int divisor)
{   
 if(0 == divisor)	
 {        
 // 抛出异常,字符串“除数不能为0”	
 	throw string("除数不能为0");	
 }	
 else	
 {	
 	return dividend / divisor;
 }
}
int main(void)
{
	int d1 = 0;	
	int d2 = 0;	
	int r = 0;	
	cin >> d1;	
	cin >> d2;    
	// 使用try...catch...捕获异常	
	try	
	{	 
	   division(d1,d2);	
	}	
	catch(string &e)	
	{	   
	     cout<<e<<endl;
	}
	system("pasue");
	return 0;
}


1 回复 有任何疑惑可以回复我~

谁能告诉我,为什么用了【代码语言】,程序排版还是这么乱???

0 回复 有任何疑惑可以回复我~
#1

pkcorn

要自己敲回车排版的
2018-06-23 回复 有任何疑惑可以回复我~
#include <iostream>#include <string>#include <stdlib.h>using namespace std;/** * 定义函数division * 参数整型dividend、整型divisor */int division(int dividend, int divisor){    if(0 == divisor)	{        // 抛出异常,字符串“除数不能为0”		cout<< string("除数不能为0");	}	else	{		return dividend / divisor;	}}int main(void){	int d1 = 0;	int d2 = 0;	int r = 0;	cin >> d1;	cin >> d2;    // 使用try...catch...捕获异常	try	{	   division(d1,d2);	}	catch(string)	{	   	}	return 0;}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66236    人
  • 解答问题       314    个

本教程将带领大家体会面向对象三大特性中的多态特性

进入课程

编译通过了所以总感觉哪里不对?求教!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信