I want to know whether an error can be handled or not in Java in the similar way to exceptions. I have seen errors that can’t be handled such as AssertionError and I’ve also tried throwing an error inside a program and tried handling using catch, It worked and also the next part of code did execute(This is contradictory to the part where the program supposed to be exited whenever an error is encountered). Is it like few errors can be handled and few others cannot be. I’m confused with this, can anyone clear this doubt of mine and state the difference between errors and exceptions?
package package1;
public class Class1
{
public static void main(String[] args)
{
Class1 cl1=new Class1();
int x=2;
String s = null;
//assert(x<0):"x is not less than zero";
try
{
cl1.workonExceptions();
}
catch (Error e)
{
e.printStackTrace();
}
System.out.println("Not Terminated yet");
}
public void workonExceptions() throws Error
{
try
{
throw new Exception("Exception");
}
catch (Exception e)
{
throw new Error("Exception Again"); }
}
}
Some background on
Error: It’s not intended to be catchable; it only comes up when something goes really wrong. An exception is meant to be caught and handled, since it’s something that may come up on occasion, but shouldn’t interrupt or interfere severely with the running of your program, such as dividing by zero.As for it working inside of a
try...catchstatement, the reason is that this is a property of theThrowableclass.