Defining Custom Exceptions Java