Package org.eclipse.jdt.core

# Class JavaModelException

java.lang.Object
java.lang.Throwable
java.lang.Exception
org.eclipse.core.runtime.CoreException
org.eclipse.jdt.core.JavaModelException

All Implemented Interfaces:
  `Serializable`

public class JavaModelException extends CoreException
A checked exception representing a failure in the Java model. Java model exceptions contain a Java-specific status object describing the cause of the exception.

Instances of this class are automatically created by the Java model when problems arise, so there is generally no need for clients to create instances.

See Also:
  - `IJavaModelStatus`
  - `IJavaModelStatusConstants`
  - Serialized Form
Restriction:
  This class is not intended to be subclassed by clients.

## Constructor Summary

Constructors
Constructor
Description
`JavaModelException(Throwable e, int code)`
Creates a Java model exception that wrappers the given `Throwable`.
`JavaModelException(CoreException exception)`
Creates a Java model exception for the given `CoreException`.
`JavaModelException(IStatus status)`
Creates a Java model exception for the given status object.
`JavaModelException(IJavaModelStatus status)`
Creates a Java model exception for the given Java-specific status object.

## Method Summary

Modifier and Type
Method
Description
`Throwable`
`getException()`
Returns the underlying `Throwable` that caused the failure.
`IJavaModelStatus`
`getJavaModelStatus()`
Returns the Java model status object for this exception.
`boolean`
`isDoesNotExist()`
Returns whether this exception indicates that a Java model element does not exist.
`void`
`printStackTrace(PrintStream output)`
Prints this exception's stack trace to the given print stream.
`void`
`printStackTrace(PrintWriter output)`
Prints this exception's stack trace to the given print writer.
`String`
`toString()`

### Methods inherited from class org.eclipse.core.runtime.CoreException

`getCause, getStatus, printStackTrace`

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

`addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, setStackTrace`

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

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

## Constructor Details

### JavaModelException

public JavaModelException(Throwable e, int code)
Creates a Java model exception that wrappers the given `Throwable`. The exception contains a Java-specific status object with severity `IStatus.ERROR` and the given status code.

Parameters:
  `e` - the `Throwable`
  `code` - one of the Java-specific status codes declared in `IJavaModelStatusConstants`
See Also:
  - `IJavaModelStatusConstants`
  - `IStatus.ERROR`

### JavaModelException

public JavaModelException(CoreException exception)
Creates a Java model exception for the given `CoreException`. Equivalent to `JavaModelException(exception,IJavaModelStatusConstants.CORE_EXCEPTION`.

Parameters:
  `exception` - the `CoreException`

### JavaModelException

public JavaModelException(IJavaModelStatus status)
Creates a Java model exception for the given Java-specific status object.

Parameters:
  `status` - the Java-specific status object

### JavaModelException

public JavaModelException(IStatus status)
Creates a Java model exception for the given status object.

Since:
  3.14

## Method Details

### getException

public Throwable getException()
Returns the underlying `Throwable` that caused the failure.

Returns:
  the wrapped `Throwable`, or `null` if the direct case of the failure was at the Java model layer

### getJavaModelStatus

public IJavaModelStatus getJavaModelStatus()
Returns the Java model status object for this exception. Equivalent to `(IJavaModelStatus) getStatus()`.

Returns:
  a status object

### isDoesNotExist

public boolean isDoesNotExist()
Returns whether this exception indicates that a Java model element does not exist. Such exceptions have a status with a code of `IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST` or `IJavaModelStatusConstants.ELEMENT_NOT_ON_CLASSPATH`. This is a convenience method.

Returns:
  `true` if this exception indicates that a Java model element does not exist
See Also:
  - `IJavaModelStatus.isDoesNotExist()`
  - `IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST`
  - `IJavaModelStatusConstants.ELEMENT_NOT_ON_CLASSPATH`

### printStackTrace

public void printStackTrace(PrintStream output)
Prints this exception's stack trace to the given print stream.

Overrides:
  `printStackTrace` in class `CoreException`
Parameters:
  `output` - the print stream
Since:
  3.0

### printStackTrace

public void printStackTrace(PrintWriter output)
Prints this exception's stack trace to the given print writer.

Overrides:
  `printStackTrace` in class `CoreException`
Parameters:
  `output` - the print writer
Since:
  3.0

### toString

public String toString()

Overrides:
  `toString` in class `Throwable`