bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths

Loading lesson path

Learn/Java/Java Errors
Java•Java Errors

Java Exceptions - Try...Catch

Java Exceptions

As mentioned in the Errors chapter , different types of errors can occur while running a program - such as coding mistakes, invalid input, or unexpected situations.

When an error occurs, Java will normally stop and generate an error message. The technical term for this is: Java will throw an exception (throw an error).

Exception Handling (try and catch)

Exception handling lets you catch and handle errors during runtime - so your program doesn't crash.

It uses different keywords

The try statement allows you to define a block of code to be tested for errors while it is being executed.

The catch statement allows you to define a block of code to be executed, if an error occurs in the try block.

The try and catch keywords come in pairs:

Syntax

try {
 // Block of code to try
}
catch(Exception
e ) {
 // Block of code to handle errors
}

Runnable example

public class Main {
  public static void main(String[ ] args) {
    int[] myNumbers = {1, 2, 3};
    System.out.println(myNumbers[10]); // error! }
}

Consider the following example

If an error occurs, we can use try...catch to catch the error and execute some code to handle it:

Example

public class Main {
  public static void main(String[ ] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
    System.out.println("Something went wrong.");
  }
}
}

Finally

The finally statement lets you execute code, after try...catch , regardless of the result:

Example

public class Main {
  public static void main(String[] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
    System.out.println("Something went wrong.");
  } finally {
  System.out.println("The 'try catch' is finished.");
}
}
}

The throw keyword

The throw statement allows you to create a custom error.

The throw statement is used together with an exception type . There are many exception types available in Java: ArithmeticException , FileNotFoundException , ArrayIndexOutOfBoundsException , SecurityException , etc:

Example

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new ArithmeticException("Access denied - You must be at least 18 years old.");
    }
  else {
    System.out.println("Access granted - You are old enough!");
  }
}
public static void main(String[] args) {
  checkAge(15); // Set age to 15 (which is below 18...)
}
}

If age was 20, you would not get an exception:

checkAge(20);

Errors and Exception Types

The table below shows some of the most common errors and exceptions in Java, with a short description of each:

Error/ExceptionDescription
ArithmeticErrorOccurs when a numeric calculation goes wrong
ArrayIndexOutOfBoundsExceptionOccurs when trying to access an index number that does not exist in an array
ClassNotFoundExceptionOccurs when trying to access a class that does not exist
FileNotFoundExceptionOccurs when a file cannot be accessed
InputMismatchExceptionOccurs when entering wrong input (e.g. text in a numerical input)
IOExceptionOccurs when an input or output operation fails
NullPointerExceptionOccurs when trying to access an object referece that is null
NumberFormatExceptionOccurs when it is not possible to convert a specified string to a numeric type
StringIndexOutOfBoundsExceptionOccurs when trying to access a character in a String that does not exist

Tip

For a list of all errors and exception types, go to our Java Errors and Exception Types Reference .

Previous

Java Debugging

Next

Java Multiple Exceptions