ClassNotFoundException (Java SE 17 & JDK 17)
Description: declaration: module: java.base, package: java.lang, class: ClassNotFoundException
Keywords: java.lang.ClassNotFoundException class

Module java.base
Package java.lang

# Class ClassNotFoundException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.ReflectiveOperationException
java.lang.ClassNotFoundException

All Implemented Interfaces:
  `Serializable`

public class ClassNotFoundException extends ReflectiveOperationException
Thrown when an application tries to load in a class through its string name using:

- The `forName` method in class `Class`.
- The `findSystemClass` method in class `ClassLoader` .
- The `loadClass` method in class `ClassLoader`.

but no definition for the class with the specified name could be found.

Since:
  1.0
See Also:
  - `Class.forName(java.lang.String)`
  - `ClassLoader.findSystemClass(java.lang.String)`
  - `ClassLoader.loadClass(java.lang.String, boolean)`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClassNotFoundException()`
  Constructs a `ClassNotFoundException` with no detail message.
  `ClassNotFoundException(String s)`
  Constructs a `ClassNotFoundException` with the specified detail message.
  `ClassNotFoundException(String s, Throwable ex)`
  Constructs a `ClassNotFoundException` with the specified detail message and optional exception that was raised while loading the class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Throwable`
  `getException()`
  Returns the exception that was raised if an error occurred while attempting to load the class.

  ### Methods declared in class java.lang.Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ClassNotFoundException

    public ClassNotFoundException()
    Constructs a `ClassNotFoundException` with no detail message.

  - ### ClassNotFoundException

    public ClassNotFoundException(String s)
    Constructs a `ClassNotFoundException` with the specified detail message.
    Parameters:
      `s` - the detail message.

  - ### ClassNotFoundException

    public ClassNotFoundException(String s, Throwable ex)
    Constructs a `ClassNotFoundException` with the specified detail message and optional exception that was raised while loading the class.
    Parameters:
      `s` - the detail message
      `ex` - the exception that was raised while loading the class
    Since:
      1.2

- ## Method Details

  - ### getException

    public Throwable getException()
    Returns the exception that was raised if an error occurred while attempting to load the class. Otherwise, returns `null`.
    API Note:
      This method predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.
    Returns:
      the `Exception` that was raised while loading a class
    Since:
      1.2