在相应的 try 语句主体中不能抛出异常 java.io.IOException

importjava.io.*;publicclassAptitudeTest2{publicstaticvoidmain(String[]args){try{intsc... import java.io.*;
public class AptitudeTest2
{
public static void main(String[] args)
{
try
{
int score;
System.out.print("Enter aptitude test score:");
//getInteger may throw IOException or NumberFormatException
score=TestException.getInteger();
if(score>=50)
{
System.out.println("You have a place on the course!");
}
else
{
System.out.println("Sorry,you failed your test");
}
}
catch(NumberFormatException e)
{
System.out.println("You entered an invalid number!");
}
catch(IOException e)
{
System.out.println(e);
}
//even if no exception thrown/caught,this line will be executed
System.out.println("Goodbye");
}
}

提示错误时:在相应的 try 语句主体中不能抛出异常 java.io.IOException。
请高手回答啊。谢谢
展开
 我来答
百度网友5ca104357
推荐于2018-03-28 · TA获得超过2595个赞
知道小有建树答主
回答量:874
采纳率:100%
帮助的人:1377万
展开全部
IOException是检查时的异常(编译的时候就检查)
而NumberFormatException 是RuntimeException的子类(运行时的异常),编译时不检查。
所以编译时会检查TestException.getInteger();方法是否可能抛出IOException,而不会检查是否可能抛出NumberFormatException 。

解决办法:
方法1.删掉
catch(IOException e)
{
System.out.println(e);
}

方法2.
修改TestException.getInteger();方法为,添加throws IOException ,如下
public static int getInteger()throws IOException

参考资料: 还有其他问题的话,给我发百度消息

咔叽咯浮
2010-08-11 · 超过15用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
虽然注释说“getInteger may throw IOException or NumberFormatException”
但既然这样提示错误了,我觉得这个方法应该不会抛IOException吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式