Exception Handling In Java
When you run a Java code or program, it will either compile and execute or throw an error. When a code throws an, it’s a result of either an error or an exception.
An error is more critical. It occurs outside the scope of the code but within the environment in which the application is running. The program is not expected to catch and handle an error.
Some examples of errors are
- OutOfMemoryError
- VirtualMachineError
- StackOverFlowError
Exceptions occur within the scope of the code. It is also known as execution error which means that it occurs during the execution of the code. The programmer is expected to catch and handle exceptions in a program.
This post will focus more on exceptions and runtime errors specifically. You will learn all about exceptions and how to handle exception errors in your Java program.
Types of Execution Errors In Java
There are three types of execution errors in Java. Here is a breakdown of each of them
. Compile-Time Error
This type of error is known as compilation error or checked error. A Java program throws this code during the compilation stage.
In other words, this error occurs when the Javac code is being compiled to bytecode. The compile-time error is usually caused by an error in the code syntax.
For instance, when the programmer fails to add a semicolon at the end of a statement or fails to initialize a variable before printing.
public class JavaExceptionCodes { public static void main (String []args){ int y = 10 //no semicolon System.out.println(y); } }
. Run-Time Error
The run-time error is also known as the exception error or unchecked error. It occurs as the program is being executed. The code will compile but will throw an error during runtime.
The runtime error can be further classified into built-in exceptions or user-defined exceptions. Examples of built-in exceptions include:
- ArrayIndexOutOfBoundsException
- ArithmeticException
- FileNotFoundException
- NullPointerException
For instance if a user inputs an int instead of a string or inserts values bigger than the size of an array.
public class JavaExceptionCodes { public static void main (String []args) { int nombas[] = {1, 2, 3, 4, 5}; System.out.println(nombas[6]); } } //ArrayIndexOutOfBoundsException
. Logical Error
Also known as semantic error, it occurs if there is an error in a program’s logical output. For instance, 3 + 3 shows an output of 7, or when you log into your account and land on another profile.
The compile-time error is the easiest to catch because your IDE will always point out this error to the programmer. Logical error most times is the hardest error to see because the code will throw no compile time or runtime error.
Concept of Exception Handling
Exception handling is used to catch errors in a program and maintain the normal flow of the execution of a program. Usually, once a program throws an error, the code will stop executing.
Catching and handling errors beforehand will enable the program to skip the block of code with errors and continue executing the rest of the program.
Exception Handling Methods:
Try – Catch – Finally – Throw – Throws are the list of methods for exception handling in Java. Let’s break each of them in detail with examples:
. Try
Try is used to enclose a line or blocks of code that may throw an exception. There is also a nested try which is a try with an inner try block (s). They serve the same purpose.
Syntax
try{ }
. Catch
The catch is a block of code used to catch errors thrown in the try block.
Syntax
try{ } catch (Exception e){ }
multiple catch blocks
public class JavaExceptionCodes { public static void main (String []args) { int x = 10; int y = 0; int z ; int nombas [] = {5, 6, 7, 8, 9}; try { System.out.println(z = x / y); System.out.println(nombas[6]); } catch (ArithmeticException e){ System.out.println("Can't divide by 0. Choose another number" + e); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Array Out Of Bound" + e); } System.out.println("End"); } }
. Finally
Finally, is an optional block of code, that is usually placed after the try and catch code blocks. It is used to execute important codes. The finally block is always executed whether the program throws an error or not.
Syntax
try{ } catch (Exception e){ } finally{ }
. Throw
Throw is a keyword used to throw an exception inside a method or block of code.
Syntax
public class JavaExceptionCodes { public static void main (String []args) { try { throw new ArithmeticException("Try Run"); } catch (ArithmeticException e){ System.out.println("Catch Exception Error"); } } }
. Throws
Unlike the throw keyword, the throws keyword is not used to throw an exception. However, it specifies that there may be an exception in the method. The Throws is used in the method signature and not inside the method.
Best Practices For Handling Exceptions
A try block can have several statements (lines of code). It is best to create multiple catch blocks to catch the error in each statement.
Always specify the type of exception if you are working with multiple catch blocks.
If there are multiple statements in a try block and you don’t know the statement with the error, create a final general exception at the end of other exceptions to catch unknown errors.
Always place the general exception catch block at the end of the other custom exception catch blocks.
The above is the detailed content of Exception Handling In Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics





Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Start Spring using IntelliJIDEAUltimate version...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

How to convert names to numbers to implement sorting within groups? When sorting users in groups, it is often necessary to convert the user's name into numbers so that it can be different...

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...
