Package org.osgi.framework

# Class ServiceException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.osgi.framework.ServiceException

All Implemented Interfaces:
  `Serializable`

public class ServiceException extends RuntimeException
A service exception used to indicate that a service problem occurred.

A `ServiceException` object is created by the Framework or service implementation to denote an exception condition in the service. A type code is used to identify the exception type for future extendability. Service implementations may also create subclasses of `ServiceException`. When subclassing, the subclass should set the type to `SUBCLASSED` to indicate that `ServiceException` has been subclassed.

This exception conforms to the general purpose exception chaining mechanism.

Since:
  1.5
Author:
  $Id: 32a515460813c702b127f65dda91cd23781b2a98 $
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ASYNC_ERROR`
An asynchronous operation was unable to obtain the service.
`static final int`
`FACTORY_ERROR`
The service factory produced an invalid service object.
`static final int`
`FACTORY_EXCEPTION`
The service factory threw an exception.
`static final int`
`FACTORY_RECURSION`
The service factory resulted in a recursive call to itself for the requesting bundle.
`static final int`
`REMOTE`
An error occurred invoking a remote service.
`static final int`
`SUBCLASSED`
The exception is a subclass of ServiceException.
`static final int`
`UNREGISTERED`
The service has been unregistered.
`static final int`
`UNSPECIFIED`
No exception type is unspecified.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`int`
`getType()`
Returns the type for this exception or `UNSPECIFIED` if the type was unspecified or unknown.

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

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, 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 unspecified.

See Also:
  - Constant Field Values

### UNREGISTERED

public static final int UNREGISTERED
The service has been unregistered.

See Also:
  - Constant Field Values

### FACTORY_ERROR

public static final int FACTORY_ERROR
The service factory produced an invalid service object.

See Also:
  - Constant Field Values

### FACTORY_EXCEPTION

public static final int FACTORY_EXCEPTION
The service factory threw an exception.

See Also:
  - Constant Field Values

### SUBCLASSED

public static final int SUBCLASSED
The exception is a subclass of ServiceException. The subclass should be examined for the type of the exception.

See Also:
  - Constant Field Values

### REMOTE

public static final int REMOTE
An error occurred invoking a remote service.

See Also:
  - Constant Field Values

### FACTORY_RECURSION

public static final int FACTORY_RECURSION
The service factory resulted in a recursive call to itself for the requesting bundle.

Since:
  1.6
See Also:
  - Constant Field Values

### ASYNC_ERROR

public static final int ASYNC_ERROR
An asynchronous operation was unable to obtain the service.

Since:
  1.8
See Also:
  - Constant Field Values

## Constructor Details

### ServiceException

public ServiceException(String msg, Throwable cause)
Creates a `ServiceException` with the specified message and exception cause.

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

### ServiceException

public ServiceException(String msg)
Creates a `ServiceException` with the specified message.

Parameters:
  `msg` - The message.

### ServiceException

public ServiceException(String msg, int type, Throwable cause)
Creates a `ServiceException` 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.

### ServiceException

public ServiceException(String msg, int type)
Creates a `ServiceException` with the specified message and type.

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

## Method Details

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