【发布时间】:2011-08-26 13:01:24
【问题描述】:
例如,我试图让用户从菜单中选择一种模式
- 吃
- 喝
- 睡觉
现在我可以通过调用获得整数输入
ada.integer_text_io.get(integer_variable);
这里的主要问题是,如果我插入一个非数字字符串(例如字符串),则会引发以下异常
raised ADA.IO_EXCEPTIONS.DATA_ERROR : a-tiinio.adb:89 instantiated at a-inteio.ads:18
我试过接收一个字符,检查它是否是一个整数,然后将它转换成一个整数,但后来我意识到我需要输入大于 1 位的整数,所以字符方法不起作用.
如果我收到一个字符串,那么我无法检查它是否为整数(除非我扫描整个字符串以查看其所有字符是否都是整数...)
除了扫描整个字符串之外,还有其他解决方案吗? 或者可能是一种异常处理技术,可能会阻止程序终止并再次要求一个正确的整数?
-CH
【问题讨论】:
标签: exception input integer ada