DataInput in = new DataInputStream(System.in);
System.out.println("What is your name");
String name = in.readLine();
错误显示“未处理的 IO 异常”。这段代码有什么问题?
DataInput in = new DataInputStream(System.in);
System.out.println("What is your name");
String name = in.readLine();
错误显示“未处理的 IO 异常”。这段代码有什么问题?
未处理的 IO 异常
捕获IOException
或声明它抛出,readLine()
声明它可以抛出这个异常,所以你的代码需要处理/抛出它
您必须in.readLine ()
用包围调用try/catch
。
DataInput in = new DataInputStream(System.in);
System.out.println("What is your name");
try {
String name = in.readLine();
} catch (IOException ioex) {
// Handle exception accordingly
}
或者您可以trows IOException
在方法签名中添加一个子句,这意味着调用方法必须处理异常(使用try/catch
块)。
根据Javadoc entry,该readLine ()
方法已被弃用,您应该使用 aBufferedReader
代替。
此方法readLine()
会抛出 IOException
已检查的异常。因此,您有两个选项可以捕获并处理它和/或在方法声明中添加throws
关键字
例子:
public void throwsMethod() throws IOException{
DataInput in = new DataInputStream(System.in);
System.out.println("What is your name");
String name = in.readLine();
.
.
}
public void handleMethod(){
DataInput in = new DataInputStream(System.in);
System.out.println("What is your name");
String name=null;
try{
name = in.readLine();
}catch(IOException){
//do something here
}
.
.
}
有关更多信息,请阅读此 Oracle 文章异常
readLine() throws IOException 这是检查异常应在编译时抛出或处理,请参阅Oracle 文档