org.osgi.framework

## Class BundleException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - org.osgi.framework.BundleException

All Implemented Interfaces:
  Serializable

    public class BundleException
    extends Exception

A Framework exception used to indicate that a bundle lifecycle problem occurred.

A `BundleException` object is created by the Framework to denote an exception condition in the lifecycle of a bundle. `BundleException`s should not be created by bundle developers. A type code is used to identify the exception type for future extendability.

OSGi Alliance reserves the right to extend the set of types.

This exception conforms to the general purpose exception chaining mechanism.

Author:
  $Id: a0d23c4cb73b0d6386bcd6b9eebed29fdd9a4deb $
See Also:
  Serialized Form

### Field Summary

Fields
`static int` `ACTIVATOR_ERROR` The bundle activator was in error.
`static int` `DUPLICATE_BUNDLE_ERROR` The install or update operation failed because another already installed bundle has the same symbolic name and version.
`static int` `INVALID_OPERATION` The operation was invalid.
`static int` `MANIFEST_ERROR` The bundle manifest was in error.
`static int` `NATIVECODE_ERROR` The bundle could not be resolved due to an error with the Bundle-NativeCode header.
`static int` `READ_ERROR` The framework received an error while reading the input stream for a bundle.
`static int` `REJECTED_BY_HOOK` A framework hook rejected the operation.
`static int` `RESOLVE_ERROR` The bundle was not resolved.
`static int` `SECURITY_ERROR` The operation failed due to insufficient permissions.
`static int` `START_TRANSIENT_ERROR` The start transient operation failed because the start level of the bundle is greater than the current framework start level
`static int` `STATECHANGE_ERROR` The operation failed to complete the requested lifecycle state change.
`static int` `UNSPECIFIED` No exception type is specified.
`static int` `UNSUPPORTED_OPERATION` The operation was unsupported.

### Constructor Summary

Constructors
Constructor and Description
`BundleException(String msg)` Creates a `BundleException` with the specified message.
`BundleException(String msg, int type)` Creates a `BundleException` with the specified message and type.
`BundleException(String msg, int type, Throwable cause)` Creates a `BundleException` with the specified message, type and exception cause.
`BundleException(String msg, Throwable cause)` Creates a `BundleException` with the specified message and exception cause.

### Method Summary

All Methods Instance Methods Concrete Methods
`Throwable` `getCause()` Returns the cause of this exception or `null` if no cause was set.
`Throwable` `getNestedException()` Returns the cause of this exception or `null` if no cause was specified when this exception was created.
`int` `getType()` Returns the type for this exception or `UNSPECIFIED` if the type was unspecified or unknown.
`Throwable` `initCause(Throwable cause)` Initializes the cause of this exception to the specified value.

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

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

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

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

### Field Detail

#### UNSPECIFIED

    public static final int UNSPECIFIED

No exception type is specified.

Since:
  1.5
See Also:
  Constant Field Values

#### UNSUPPORTED_OPERATION

    public static final int UNSUPPORTED_OPERATION

The operation was unsupported. This type can be used anywhere a BundleException can be thrown.

Since:
  1.5
See Also:
  Constant Field Values

#### INVALID_OPERATION

    public static final int INVALID_OPERATION

The operation was invalid.

Since:
  1.5
See Also:
  Constant Field Values

#### MANIFEST_ERROR

    public static final int MANIFEST_ERROR

The bundle manifest was in error.

Since:
  1.5
See Also:
  Constant Field Values

#### RESOLVE_ERROR

    public static final int RESOLVE_ERROR

The bundle was not resolved.

Since:
  1.5
See Also:
  Constant Field Values

#### ACTIVATOR_ERROR

    public static final int ACTIVATOR_ERROR

The bundle activator was in error.

Since:
  1.5
See Also:
  Constant Field Values

#### SECURITY_ERROR

    public static final int SECURITY_ERROR

The operation failed due to insufficient permissions.

Since:
  1.5
See Also:
  Constant Field Values

#### STATECHANGE_ERROR

    public static final int STATECHANGE_ERROR

The operation failed to complete the requested lifecycle state change.

Since:
  1.5
See Also:
  Constant Field Values

#### NATIVECODE_ERROR

    public static final int NATIVECODE_ERROR

The bundle could not be resolved due to an error with the Bundle-NativeCode header.

Since:
  1.5
See Also:
  Constant Field Values

#### DUPLICATE_BUNDLE_ERROR

    public static final int DUPLICATE_BUNDLE_ERROR

The install or update operation failed because another already installed bundle has the same symbolic name and version. This exception type will only occur if the framework is configured to only allow a single bundle to be installed for a given symbolic name and version.

Since:
  1.5
See Also:
  `Constants.FRAMEWORK_BSNVERSION`, Constant Field Values

#### START_TRANSIENT_ERROR

    public static final int START_TRANSIENT_ERROR

The start transient operation failed because the start level of the bundle is greater than the current framework start level

Since:
  1.5
See Also:
  Constant Field Values

#### READ_ERROR

    public static final int READ_ERROR

The framework received an error while reading the input stream for a bundle.

Since:
  1.6
See Also:
  Constant Field Values

#### REJECTED_BY_HOOK

    public static final int REJECTED_BY_HOOK

A framework hook rejected the operation.

Since:
  1.6
See Also:
  Constant Field Values

### Constructor Detail

#### BundleException

    public BundleException(String msg,
                           Throwable cause)

Creates a `BundleException` with the specified message and exception cause.

Parameters:
  `msg` - The associated message.
  `cause` - The cause of this exception.

#### BundleException

    public BundleException(String msg)

Creates a `BundleException` with the specified message.

Parameters:
  `msg` - The message.

#### BundleException

    public BundleException(String msg,
                           int type,
                           Throwable cause)

Creates a `BundleException` with the specified message, type and exception cause.

Parameters:
  `msg` - The associated message.
  `type` - The type for this exception.
  `cause` - The cause of this exception.
Since:
  1.5

#### BundleException

    public BundleException(String msg,
                           int type)

Creates a `BundleException` with the specified message and type.

Parameters:
  `msg` - The message.
  `type` - The type for this exception.
Since:
  1.5

### Method Detail

#### getNestedException

    public Throwable getNestedException()

Returns the cause of this exception or `null` if no cause was specified when this exception was created.

This method predates the general purpose exception chaining mechanism. The `getCause()` method is now the preferred means of obtaining this information.

Returns:
  The result of calling `getCause()`.

#### getCause

    public Throwable getCause()

Returns the cause of this exception or `null` if no cause was set.

Overrides:
  `getCause` in class `Throwable`
Returns:
  The cause of this exception or `null` if no cause was set.
Since:
  1.3

#### initCause

    public Throwable initCause(Throwable cause)

Initializes the cause of this exception to the specified value.

Overrides:
  `initCause` in class `Throwable`
Parameters:
  `cause` - The cause of this exception.
Returns:
  This exception.
Throws:
  `IllegalArgumentException` - If the specified cause is this exception.
  `IllegalStateException` - If the cause of this exception has already been set.
Since:
  1.3

#### getType

    public int getType()

Returns the type for this exception or `UNSPECIFIED` if the type was unspecified or unknown.

Returns:
  The type of this exception.
Since:
  1.5