Question:
Why do I have to catch an exception when I use System.in.read()?
Answer:
System.in is an InputStream, and like any InputStream, an I/O errormay occur when you read from it. For example, the Java program mayhave been run as a background process with no standard input, causingan error during a read attempt.
InputStream.read() throws anIOException if an error occurs while reading from the stream. Thisexception is not derived from RuntimeException and must be caught or elseyour program will not compile.