What does the following quote mean?
With an unchecked exception, however, the compiler doesn't force client programmers either to catch the exception or declare it in a throws clause. In fact, client programmers may not even know that the exception could be thrown. eg,
StringIndexOutOfBoundsException
thrown by String'scharAt()
method.
According to that quotation, there is no need to use try-catch blocks, but I've seen the compiler require some code to be placed in try-catch blocks.
Why do some exceptions require try-catch blocks and others don't?