我是Java初学者,知道try...catch
语句是用来处理异常的;表示当块抛出异常时try
,catch
块被执行。所以,我的问题是当我尝试下面的代码(没有try catch
)时,它会抛出一个未报告IOException
的read()
方法,但是当我使用 它时try catch
它工作正常。
当上述异常发生在try
块中并被exception occured
打印时,为什么控制不转移到catch语句?这是我的代码:
class Test00 {
public static void main(String args[]) {
char ch;
try {
ch=(char)System.in.read();//here exception is thrown without using try..catch
System.out.println(ch);
} catch(Exception e) {
System.out.print("exception occured");
}
}
}
我认为编译器说要抛出异常,这就是代码与 try catch 一起工作的原因。但是为什么不执行 catch 块?我是不是搞错了。