为什么我看不懂这个单字?
char c = 'Y';
while(c == 'y' || c == 'Y'){
//stuff happens..
}
c = (char)System.in.read(); <----error
我收到一个编译错误,上面写着“未处理的异常类型 IOException”
将代码包装在try/catch
块中(或)throws
IOException
在方法签名中定义。所有检查的异常都应该是 catch 或 throws 异常。
例子:
try
{
c = (char)System.in.read();
}catch(IOException ioe)
{
//Your catch logic
}
您有 2 个选项可以解决此问题:
使用 try-catch 语句处理异常,如下所示:
char c = 'Y';
while(c == 'y' || c == 'Y'){
//stuff happens..
}
try {
c = (char)System.in.read();
} catch (IOException e) {
e.printStackTrace();//or however you choose to handle this
}
在类中的 package 语句(如果有)下方,添加如下 import 语句:
import java.io.IOException;
2. 在函数后面增加一个 throws 子句,表明该函数可能会抛出一个已检查的异常。在这种情况下,您可能希望在调用函数中处理异常。
示例:假设函数 sample () 调用 test()
public static void test() throws IOException {
char c = 'Y';
while(c == 'y' || c == 'Y'){
//stuff happens..
}
c = (char)System.in.read();
}
在类中的 package 语句(如果有)下方,添加如下 import 语句:
import java.io.IOException;
在情况 2 中,您可以在 sample() 中处理异常,否则异常(如果发生)将向上传播直到它被处理。