Package 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
Modifier and Type
Field
Description
`static final int`
`ACTIVATOR_ERROR`
The bundle activator was in error.
`static final int`
`DUPLICATE_BUNDLE_ERROR`
The install or update operation failed because another already installed bundle has the same symbolic name and version.
`static final int`
`INVALID_OPERATION`
The operation was invalid.
`static final int`
`MANIFEST_ERROR`
The bundle manifest was in error.
`static final int`
`NATIVECODE_ERROR`
The bundle could not be resolved due to an error with the Bundle-NativeCode header.
`static final int`
`READ_ERROR`
The framework received an error while reading the input stream for a bundle.
`static final int`
`REJECTED_BY_HOOK`
A framework hook rejected the operation.
`static final int`
`RESOLVE_ERROR`
The bundle was not resolved.
`static final int`
`SECURITY_ERROR`
The operation failed due to insufficient permissions.
`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
`static final int`
`STATECHANGE_ERROR`
The operation failed to complete the requested lifecycle state change.
`static final int`
`UNSPECIFIED`
No exception type is specified.
`static final int`
`UNSUPPORTED_OPERATION`
The operation was unsupported.

## Constructor Summary

Constructors
Constructor
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

Modifier and Type
Method
Description
`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 Details

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

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

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