java.lang

## Class ClassNotFoundException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.ClassNotFoundException

- All Implemented Interfaces:
    Serializable

      public class ClassNotFoundException
      extends Exception

  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.

  As of release 1.4, this exception has been retrofitted to conform to the general purpose exception-chaining mechanism. The "optional exception that was raised while loading the class" that may be provided at construction time and accessed via the `getException()` method is now known as the cause, and may be accessed via the `Throwable.getCause()` method, as well as the aforementioned "legacy method."

  Since:
    JDK1.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 and 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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Throwable` | `getCause()` Returns the cause of this exception (the exception that was raised if an error occurred while attempting to load the class; otherwise `null`).
    `Throwable` | `getException()` Returns the exception that was raised if an error occurred while attempting to load the class.

    - ### Methods inherited from class java.lang.Throwable

      `fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### 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 Detail

    - #### getException

          public Throwable getException()

      Returns the exception that was raised if an error occurred while attempting to load the class. Otherwise, returns `null`.

      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

    - #### getCause

          public Throwable getCause()

      Returns the cause of this exception (the exception that was raised if an error occurred while attempting to load the class; otherwise `null`).
      Overrides:
        `getCause` in class `Throwable`
      Returns:
        the cause of this exception.
      Since:
        1.4

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.