Java Exceptions Overview

Java Exceptions Guide


The Java programming language uses exceptions to handle errors and other exceptional events. Here is the quick guide on when and how to use exceptions.


What is an Exception ?


An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions.
When an error occurs within a method, the method creates an object and hands it off to the runtime system. The object, called an exception object, contains information about the error, including its type and the state of the program when the error occurred. Creating an exception object and handing it to the runtime system is called throwing an exception.

How to Throw Exceptions ?


Before you can catch an exception, some code somewhere must throw one. Any code can throw an exception: your code, code from a package written by someone else such as the packages that come with the Java platform, or the Java runtime environment. Regardless of what throws the exception, it's always thrown with the throw statement.
You can also create your own exception classes to represent problems that can occur within the classes you write. In fact, if you are a package developer, you might have to create your own set of exception classes to allow users to differentiate an error that can occur in your package from errors that occur in the Java platform or other packages.
All methods use the throw statement to throw an exception. The throw statement requires a single argument: a throwable object. Throwable objects are instances of any subclass of the Throwable class. Here's an example of a throw statement.

			
public Object pop() {
    Object obj;

    if (size == 0) {
        throw new EmptyStackException();
    }

    obj = objectAt(size - 1);
    setObjectAt(size - 1, null);
    size--;
    return obj;
}


The pop method checks to see whether any elements are on the stack. If the stack is empty (its size is equal to 0), pop instantiates a new EmptyStackException object (a member of java.util) and throws it. The Creating Exception Classes section in this chapter explains how to create your own exception classes. For now, all you need to remember is that you can throw only objects that inherit from the java.lang.Throwable class.
Note that the declaration of the pop method does not contain a throws clause. EmptyStackException is not a checked exception, so pop is not required to state that it might occur.

Throwable Class and Its Subclasses

The objects that inherit from the Throwable class include direct descendants (objects that inherit directly from the Throwable class) and indirect descendants (objects that inherit from children or grandchildren of the Throwable class). The figure below illustrates the class hierarchy of the Throwable class and its most significant subclasses. As you can see, Throwable has two direct descendants: Error and Exception.

Throwable class and its most significant subclasses.


The Throwable class.
Error Class When a dynamic linking failure or other hard failure in the Java virtual machine occurs, the virtual machine throws an Error. Simple programs typically do not catch or throw Errors.
Exception Class Most programs throw and catch objects that derive from the Exception class. An Exception indicates that a problem occurred, but it is not a serious system problem. Most programs you write will throw and catch Exceptions as opposed to Errors.
The Java platform defines the many descendants of the Exception class. These descendants indicate various types of exceptions that can occur. For example, IllegalAccessException signals that a particular method could not be found, and NegativeArraySizeException indicates that a program attempted to create an array with a negative size.
One Exception subclass, RuntimeException, is reserved for exceptions that indicate incorrect use of an API. An example of a runtime exception is NullPointerException, which occurs when a method tries to access a member of an object through a null reference. The section Unchecked Exceptions — The Controversy discusses why most applications shouldn't throw runtime exceptions or subclass RuntimeException.


Redhat OpenJDK installation, Click here to read more.

Install RedHat OpenJDK 14 on Windows 10

AdoptOpenJDK installation, Click here to read more.

Install AdoptOpenJDK 14 on Windows 10

Here is the quick video tutorial that demonstrates how to Download and Install OpenJDK 14 on Windows 10.


Download OpenJDK - here are the OpenJDK versions you might be interested in!


OpenJDK 7 Download Windows 64 bit
OpenJDK 8 Download Windows 64 bit
OpenJDK 9 Download Windows 64 bit
OpenJDK 10 Download Windows 64 bit
OpenJDK 11 Download Windows 64 bit
OpenJDK 12 Download Windows 64 bit

If you are looking out for earlier OpenJDK versions, go to OpenJDK Archive

x
Subscribe to Our Newsletter

Get the latest updates and exclusive content delivered to your inbox!