# com.bea.p13n.exceptions
ApplicationException Class

public abstract class ApplicationException
extends `Exception`

An abstract base class designed to be extended by a given subsystem or service. It provides exception-chaining functionality that allows for printing a chained stack trace. The ApplicationException is the superclass of those exceptions created as a result of an application-specific condition that may occur. For example, an application may experience a business logic failure which needs to be communicated back to the caller, and alternative programmatic action may be chosen to compensate for the failure. It is HIGHLY RECOMMENDED that subclasses provide the same constructors that are present in this class in order to maintain the highest degree of compatibility with this API. Although not enforced by this class, it is STRONGLY RECOMMENDED that the message argument set in the constructor originate from the WLS message catalog and not be hard-coded. For example:

       public static final MySubsystemExceptionTextFormatter myFormatter =
             new MySubsystemExceptionTextFormatter();
       . . .
       throw new MySubsystemException( myFormatter.MyExceptionMessage( arg0, arg1) );

Subclasses should contain data attributes pertaining to the failed condition such that a precise, meaningful message can be conveyed to the caller. A good check is to examine the exception message. If the message has placeholders representing application objects, those application objects should probably exist as attributes in the given exception class.

Hierarchy
  `Object`
  `Throwable`
  `Exception`
  `ApplicationException`

All Implemented Interfaces
  `Serializable`

Direct Known Subclasses
  `AdvisorException`, `AuthenticationException`, `ConfigurableEntityCreateException`, `ContentException`, `CryptException`, `DomException`, `EntityNotFoundException`, `ExpressionException`, `GroupAlreadyExistsException`, `InvalidArgumentException`, `InvalidGroupnameException`, `InvalidPasswordException`, `InvalidUsernameException`, `MailServiceException`, `OperationNotSupportedException`, `PipelineException`, `PortalException`, `PrincipalNotExclusivelyManagedByAdminException`, `ProfileNotFoundException`, `PropertySetParseException`, `PropertyValidationException`, `RealmNotWritableAddException`, `RealmNotWritableRemoveException`, `RuleException`, `UserAlreadyExistsException`

## Constructor Summary

ApplicationException()
ApplicationException(`String` message, `Throwable` cause)
ApplicationException(`String` message)
ApplicationException(`Throwable` cause)

## Method Summary

Methods from `java.lang.`Throwable``
`fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Detail

### ApplicationException

    public ApplicationException()

### ApplicationException

    public ApplicationException(String message,
                                Throwable cause)

### ApplicationException

    public ApplicationException(String message)

### ApplicationException

    public ApplicationException(Throwable cause)