Q1) What is an Exception?
Ans) The exception is said to be thrown
whenever an exceptional event occurs in java which signals that
something is not correct with the code written and may give unexpected
result. An exceptional event is a occurrence of condition which alters
the normal program flow. Exceptional handler is the code that does
something about the exception.
|
Q2) Exceptions are defined in which java package?
Ans)All the exceptions are subclasses of java.lang.Exception
|
Q3) How are the exceptions handled in java?
Ans)When an exception occurs the execution
of the program is transferred to an appropriate exception handler.The
try-catch-finally block is used to handle the exception.
The code in which the exception may occur is enclosed in a try block, also called as a guarded region. The catch clause matches a specific exception to a block of code which handles that exception. And the clean up code which needs to be executed no matter the exception occurs or not is put inside the finally block |
Q4) Explain the exception hierarchy in java.
Ans) The hierarchy is as follows:
Throwable is a parent class off all Exception classes. They are two types of Exceptions: Checked exceptions and UncheckedExceptions. Both type of exceptions extends Exception class. |
Q5) What is Runtime Exception or unchecked exception?
Ans) Runtime exceptions represent problems that
are the result of a programming problem. Such problems include
arithmetic exceptions, such as dividing by zero; pointer exceptions,
such as trying to access an object through a null reference; and
indexing exceptions, such as attempting to access an array element
through an index that is too large or too small. Runtime exceptions
need not be explicitly caught in try catch block as it can occur
anywhere in a program, and in a typical one they can be very numerous.
Having to add runtime exceptions in every method declaration would
reduce a program's clarity. Thus, the compiler does not require that
you catch or specify runtime exceptions (although you can). The
solution to rectify is to correct the programming logic where the
exception has occurred or provide a check.
|
Q6) What is checked exception?
Ans) Checked exception are the exceptions
which forces the programmer to catch them explicitly in try-catch block.
It is a subClass of Exception. Example: IOException.
|
Q7) What is difference between Error and Exception?
Ans) An error is an irrecoverable
condition occurring at runtime. Such as OutOfMemory error. These JVM
errors and you can not repair them at runtime.Though error can be caught
in catch block but the execution of application will come to a halt and
is not recoverable.
While exceptions are conditions that occur because of bad input etc. e.g. FileNotFoundException will be thrown if the specified file does not exist. Or a NullPointerException will take place if you try using a null reference. In most of the cases it is possible to recover from an exception (probably by giving user a feedback for entering proper values etc.) |
Q8) What is difference between ClassNotFoundException and NoClassDefFoundError?
Ans) A ClassNotFoundException is thrown when the
reported class is not found by the ClassLoader in the CLASSPATH. It
could also mean that the class in question is trying to be loaded from
another class which was loaded in a parent classloader and hence the
class from the child classloader is not visible.
Consider if NoClassDefFoundError occurs which is something like java.lang.NoClassDefFoundError src/com/TestClass does not mean that the TestClass class is not in the CLASSPATH. It means that the class TestClass was found by the ClassLoader however when trying to load the class, it ran into an error reading the class definition. This typically happens when the class in question has static blocks or members which use a Class that's not found by the ClassLoader. So to find the culprit, view the source of the class in question (TestClass in this case) and look for code using static blocks or static members. |
Q9) What is throw keyword?
Ans) Throw keyword is used to throw the exception manually. It is mainly used when the program fails to satisfy the given condition and it wants to warn the application.The exception thrown should be subclass of Throwable.
public void parent(){
try{ child(); }catch(MyCustomException e){ } } public void child{ String iAmMandatory=null; if(iAmMandatory == null){ throw (new MyCustomException("Throwing exception using throw keyword"); } } |
Q10) What is use of throws keyword?
Ans) If the function is not capable of handling the exception then it can ask the calling method to handle it by simply putting the throws clause at the function declaration.
public void parent(){
try{ child(); }catch(MyCustomException e){ } } public void child throws MyCustomException{ //put some logic so that the exception occurs. } |
Q11) What are the possible combination to write try, catch finally block?
Ans)
The catch blocks must always follow the try block. If there are more than one catch blocks they all must follow each other without any block in between. The finally block must follow the catch block if one is present or if the catch block is absent the finally block must follow the try block. |
Q12) How to create custom Exception?
Ans) To create you own exception extend the Exception class or any of its subclasses.
e.g. 1 class New1Exception extends Exception { } // this will create Checked Exception 2 class NewException extends IOExcpetion { } // this will create Checked exception 3 class NewException extends NullPonterExcpetion { } // this will create UnChecked exception |
Q13) When to make a custom checked Exception or custom unchecked Exception?
Ans) If an application can reasonably be
expected to recover from an exception, make it a checked exception. If
an application cannot do anything to recover from the exception, make
it an unchecked exception.
|
Thursday, 11 July 2013
Exceptions Interview Questions
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment