私は Java の初心者であり、try...catch
ステートメントを使用して例外を処理することを知っています。ブロックによって例外がスローされるtry
と、catch
ブロックが実行されることを意味します。したがって、私の質問は、次のコードを ( なしで) 試したときに、報告されていないinメソッドが try catch
スローされますが、使用する と正常に動作することです。IOException
read()
try catch
上記の例外がtry
ブロックで発生して出力されたときに、制御が catch ステートメントに転送されないのはなぜexception occured
ですか? ここに私のコードがあります:
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 ブロックが実行されないのはなぜですか?