在相应的 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。
请高手回答啊。谢谢 展开
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。
请高手回答啊。谢谢 展开
展开全部
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
而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
参考资料: 还有其他问题的话,给我发百度消息
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询