Catching Exceptions are like baseball
You might think of this as a game of baseball.
The pitcher (your code) will toss the ball (the thread of control) toward the batter (the method you are invoking in the try block).
As the pitcher, you want the ball to return to you in the normal way, and if it does, everything is fine.
However, if you hang a curve ball or something does not happen that you intended and the batter smashes the ball, the ball needs to be caught, because if it hits the ground, that thread of control will end.
A person has to be prepared to catch the ball in case the batter hits it.
The pitcher (your code) will toss the ball (the thread of control) toward the batter (the method you are invoking in the try block).
As the pitcher, you want the ball to return to you in the normal way, and if it does, everything is fine.
However, if you hang a curve ball or something does not happen that you intended and the batter smashes the ball, the ball needs to be caught, because if it hits the ground, that thread of control will end.
A person has to be prepared to catch the ball in case the batter hits it.
