If you throw something in the try block, it can be caught in the associated catch block - if you catch something compatible with the thrown exception. If you throw something in the catch block, the exception will bubble up to the next appropriate catch block, either in the same method or not. Say MyException A & B both extend Exception:
The MyExceptionA is not caught, and will start seeking a catch that does match.
This time we catch one exception and throw another, kinda like converting the exception from one type to another, but we also lost the original stack trace.
You might want to download
Thinking In Java. As I recall Bruce Eckel has a pretty good chapter on exceptions. Hope that helps!