This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
java.lang.ArithmeticException is a Runtime exception. It is thrown when an exceptional arithmetic condition has occurred. For example, an integer "divide by zero" throws an instance of this class.
Well, the use of try-catch blocks in now tampers the type of xception. Try-catch blocks help you to run your explicit code in case an exception is occured. The specific piece of code will run in catch block, if it is present, or else the program will terminate abruptly.
Thus, the type of exception will always be the type it is, be the code have try-catch or not.
Yes, it depends on what type of exception you catch in the try-catch block.
Not catching the appropriate and required exception is as same as having the code without a try-catch block. It does not save the purpose.
If you have a try-catch block and when the appropriate expected exception is thrown at runtime the programmer/developer has a facility to take a action which can be of a corrective measure or an intimation to the user with the customized message etc., Without which, the user has no means to stop the abrupt processing with the stack trace as what you have pasted!