Class FaultException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- oracle.kv.FastExternalizableException
-
- oracle.kv.FaultException
-
- All Implemented Interfaces:
Serializable
,oracle.kv.impl.util.FastExternalizable
- Direct Known Subclasses:
ConsistencyException
,DurabilityException
,PartialLOBException
,PublisherFailureException
,RequestLimitException
,RequestTimeoutException
,ResourceLimitException
,SubscriptionInsufficientLogException
public class FaultException extends FastExternalizableException
Used to indicate an error condition that cannot normally be handled by the caller of the method, except by retrying the operation.When the error occurred remotely and was due to an internally defined server exception, the
Throwable.getCause()
method will return null rather than returning the internal exception, and the remote stack trace will not be a part of the stack trace of this exception. This is because the internal exception class is not present in the client library.For logging, testing and debugging purposes, the full textual stack trace of the remote exception, including any nested cause exceptions, is available using the
getRemoteStackTrace()
method, and the remote (or local) exception's class name is returned bygetFaultClassName()
. ThetoString()
andThrowable.printStackTrace()
methods output the fault class name and remote stack trace.When the error occurred remotely, it will have already been logged and reported on a remote KVStore node and will be available to administrators. However, to correlate client and server errors and to make error information easily accessible on the client, it is good practice to also log the error locally. Errors that originated locally are not automatically logged and available to administrators, and the client application is responsible for reporting them. See
wasLoggedRemotely()
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
testNoCurrentInMessage
If true, don't include the current version or current time in the exception message.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getFaultClassName()
Returns the name of the class associated with the original fault exception, or the name of the local exception class if the error occurred locally.String
getRemoteStackTrace()
Returns the textual stack trace associated with the remote fault exception, or null if the error occurred locally.oracle.kv.impl.topo.ResourceId
getResourceId()
Returns the id of the resource associated with the remote fault exception, or null if the error occurred locally or resource ID is not known.void
setResourceId(oracle.kv.impl.topo.ResourceId resourceId)
String
toString()
Returns a description of the fault that includes the standardThrowable
description (class name and message), followed by the fault class name, followed by the remote stack trace (if any).boolean
wasLoggedRemotely()
Returns whether the exception was previously logged remotely.-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace
-
-
-
-
Method Detail
-
wasLoggedRemotely
public boolean wasLoggedRemotely()
Returns whether the exception was previously logged remotely.When the error occurred remotely, it will have already been logged and reported on a remote KVStore node and will be available to administrators. However, to correlate client and server errors and to make error information easily accessible on the client, it is good practice to also log the error locally. Errors that originated locally are not automatically logged and available to administrators, and the client application is responsible for reporting them.
-
getFaultClassName
public String getFaultClassName()
Returns the name of the class associated with the original fault exception, or the name of the local exception class if the error occurred locally. When the error occurred locally and this exception is a simple wrapper, the class name of the wrapped exception is returned. This method exists primarily for logging, testing and debugging.
-
getRemoteStackTrace
public String getRemoteStackTrace()
Returns the textual stack trace associated with the remote fault exception, or null if the error occurred locally. This method exists primarily for logging, testing and debugging.
-
setResourceId
public void setResourceId(oracle.kv.impl.topo.ResourceId resourceId)
-
getResourceId
public oracle.kv.impl.topo.ResourceId getResourceId()
Returns the id of the resource associated with the remote fault exception, or null if the error occurred locally or resource ID is not known. This method exists primarily for logging, testing and debugging.
-
toString
public String toString()
Returns a description of the fault that includes the standardThrowable
description (class name and message), followed by the fault class name, followed by the remote stack trace (if any). This method exists primarily for logging, testing and debugging.
-
-