Friday, March 1, 2024

EXCEPTION HANDLING IN JAVA

 Java Exception Handling


  • EXCEPTION HIERARCHY
  • USER-DEFINED EXCEPTIONS
  • HOW DOES JVM HANDLE EXCEPTION

Exception handling is a highly efficient method of addressing runtime errors in Java programs as it guarantees regular program operation.

We will study the types of Java exceptions and how they differ from one another in this lesson. and unreviewed exclusions.

A non-trivial or unexpected event that occurs during program execution and interferes with, in Java, the usual execution of a program's instructions is called an exception. The software understands how to handle an exception. Every time a procedure throws an exception, an object is produced. An exception object is what is referred to as such. This file contains the name, description, and program status as of the exception occurrence.

The main reasons for the exception occurring are Incorrect user input Device error Network connection failure limitations (external disk storage) Code error and inability to open an accessible file.

In Java, non-trivial or unexpected events that occur during program execution that obstruct regular program execution are referred to as exceptions. The software understands how to handle an exception. Every time a procedure throws an exception, an object is produced. An exception object is what is referred to as such. This file includes details about the exception, including its name, description, and the state of the application at the time it occurred.

The main reasons for the exception occurring are user input Device error Network connection failure limitations (external disk storage)Code error unable to open an accessible file.

Error: An error provides information or indicates or shows a serious problem that no sane software should attempt to detect.

Exception: An exception gives details or points out circumstances that a reasonable program could try to detect.

Exception hierarchy

Every other exception and error type is descended from the Throwable class. One section is overseen by a reception. This class is used by user programs when they need to catch exceptions. The Null-Pointer-Exception is one of these exceptions. The Java Runtime Environment (JRE) itself uses the second branch, Error, to detect runtime-related errors made by the Java Runtime System (JVM). One such error example is the Stack-Overflow-Error.

Types of exception

Exceptions can be classified in two ways: Built-in Exceptions-Challenged Exception-Unhandled Exception-User Defined Exceptions

Let us discuss the above exception which is as follows: 1. Built-in Exceptions - these are exceptions available in Java libraries. These exceptions are useful for explaining certain error situations.

Checked exceptions: Checked exceptions are called compile-time exceptions because the compiler checks for them during compilation.

Unchecked exceptions: these are not checked, in contrast to checked exceptions. The compiler does not search for these exceptions during compilation. To put it another way, a compilation fault won't be triggered whether we handle or report an unchecked exception that a program raises.

User-Defined Exceptions:

Regretfully, there are times when Java's built-in exceptions just aren't sufficient. Thus, "user-defined exceptions" might also be made by users.

The advantage of using exception handling in Java is Program completion.

We can easily identify the errors in the code and handle them using code-Propagation of errors-Important error message-Identification of error typescript methods Exception information.

1.      printStackTrace()

 The Name of the Exception, Stack Trace, and Description of the Exception are all included in the method's formatted output.

Let us try this with a program:

//program to print the exception information using the printStackTrace() method 

 


Output

java. lang.ArithmeticException: / by zero

at sdf.main(File.java:10)
2.      toString()
Exception information is printed via the ToString() function. Name: Exception Description.

Ex. // program that uses the toString() function to output the error information


Output

java. lang.ArithmeticException: / by zero

     getMessage()

 The getMessage() method only prints the exception description.

Ex. // program that uses the getMessage() function to output the exception information 

 

Output

by zero

How does JVM handle Exception?

A method's default response to an exception is to generate an exception object and send it to the Java Virtual Machine (JVM). The name, description, and current state of the application, along with any other relevant data, are all contained in the exception object. When the runtime system creates and handles an exception object, an exception is "thrown". It's possible that several methods were called to enable the problematic method. This collection of techniques is called the Call Stack. This is when something else occurs.

The runtime system looks for a method in the call stack that contains the exception handling code. This portion of code is also known as the exception handler.

The runtime system searches for the code that threw the exception by starting at the top of the call stack and moving down.

When it finds a suitable handler, it steps through the exception whom it The thrown object type of an exception must match the exception's type for a handler to be considered suitable.

The exception is issued again if after the runtime system has examined every method on the call stack, no suitable handler is discovered. To the default exception handler of the runtime system. Should an unusual program termination occur, this handler will output pertinent exception data in the manner shown below.

Exception in thread "xxx" Name of Exception: Description
... ...... ..  // Call Stack

Here we will examine an example that shows how the runtime system searches the call stack for the correct 
code to handle exceptions.



                  } 
}
Output 
by zero

No comments:

Post a Comment

Featured Post

ASSOCIATION RULE IN MACHINE LEARNING/PYTHON/ARTIFICIAL INTELLIGENCE

Association rule   Rule Evaluation Metrics Applications of Association Rule Learning Advantages of Association Rule Mining Disadvantages of ...

Popular