为什么我不能读这个单一的角色?
char c = 'Y';
while(c == 'y' || c == 'Y'){
//stuff happens..
}
c = (char)System.in.read(); <----error
我收到一个编译错误,上面写着“未处理的异常类型IOException”
答案 0 :(得分:3)
在方法签名中的try/catch
块(或)定义throws
IOException
中包装代码。所有已检查的异常应该是catch或throws exception。
示例:
try
{
c = (char)System.in.read();
}catch(IOException ioe)
{
//Your catch logic
}
答案 1 :(得分:0)
您有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()中的异常,否则异常(如果发生)将向上传播直到它被处理。