BundleException
Date: 2016-06-24

org.osgi.framework

## Class BundleException

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

- All Implemented Interfaces:
    java.io.Serializable

      public class BundleException
      extends java.lang.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.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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(java.lang.String msg)` Creates a `BundleException` with the specified message.
    `BundleException(java.lang.String msg, int type)` Creates a `BundleException` with the specified message and type.
    `BundleException(java.lang.String msg, int type, java.lang.Throwable cause)` Creates a `BundleException` with the specified message, type and exception cause.
    `BundleException(java.lang.String msg, java.lang.Throwable cause)` Creates a `BundleException` with the specified message and exception cause.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Throwable` | `getCause()` Returns the cause of this exception or `null` if no cause was set.
    `java.lang.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.
    `java.lang.Throwable` | `initCause(java.lang.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(java.lang.String msg,
                         java.lang.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(java.lang.String msg)

      Creates a `BundleException` with the specified message.
      Parameters:
        `msg` - The message.

    - #### BundleException

          public BundleException(java.lang.String msg,
                         int type,
                         java.lang.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(java.lang.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 java.lang.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 java.lang.Throwable getCause()

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

    - #### initCause

          public java.lang.Throwable initCause(java.lang.Throwable cause)

      Initializes the cause of this exception to the specified value.
      Overrides:
        `initCause` in class `java.lang.Throwable`
      Parameters:
        `cause` - The cause of this exception.
      Returns:
        This exception.
      Throws:
        `java.lang.IllegalArgumentException` - If the specified cause is this exception.
        `java.lang.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