#include<iostream>
#include<string>
using namespace std;
int strtoint(const string &str)
{
int num = 0;
for (unsigned int i = 0; i < str.length(); i++)
{
if ((str.at(i) >= '0') && (str.at(i) <= '9'))
{
num = num * 10 + str.at(i) - '0';
}
else
{
throw str.at(i);
}
}
return num;
}
int main()
{
string str;
int i_value;
cout << "please input a number string :\n";
cin >> str;
try
{
i_value = strtoint(str);
if (i_value > 10000)
throw i_value;
}
catch (char)
{
cout << "input string include illegal character:" <<char<< endl;
i_value = -1;
}
catch (int)
{
cout << "number is too big:" << i_value << endl;
}
cout << i_value << endl;
return 0;
}
请问各位大佬这个代码char那里报错应该怎么该?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- lemon-l 2021-03-30 21:25关注
catch (char c) { cout << "input string include illegal character:" << c << endl; i_value = -1; } catch (int i_value) { cout << "number is too big:" << i_value << endl; }
这么改试试
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
- ¥20 matlab yalmip kkt 双层优化问题
- ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体