Interface Exceptions
Exception wrapper class. The logex WrapperGenerator uses this interface
to generate an implementation which returns the appropriate exception, and
generates a log report when the method is called. This is used for all
implementation classes in this package.
The exception IDs are allocated in blocks of EXCEPTIONS_PER_CLASS, which is
a lot more than is needed, but we have 32 bits for IDs, and multiples of
a suitably chosen EXCEPTIONS_PER_CLASS (like 100 here) are easy to read in
error messages.
- Author:
- ken
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final Exceptions -
Method Summary
Modifier and TypeMethodDescriptioncannotCopyClass(Class<?> cls) cannotCopyInterface(Class<?> cls) couldNotCopy(Object obj, ReflectiveCopyException exc) couldNotFindClassCopier(Class<?> cls) exceptionInReadResolve(Object obj, Throwable t) voidfailureInFallback(ReflectiveCopyException exc, Object obj, Class<?> cls) noClassCopierForSuperclass(Class<?> superClass) stackOverflow(Object source, StackOverflowError ex)
-
Field Details
-
self
-
EXCEPTIONS_PER_CLASS
static final int EXCEPTIONS_PER_CLASS- See Also:
-
FB_START
static final int FB_START- See Also:
-
CCB_START
static final int CCB_START- See Also:
-
DC_START
static final int DC_START- See Also:
-
CCFPI_START
static final int CCFPI_START- See Also:
-
CCOI_START
static final int CCOI_START- See Also:
-
-
Method Details
-
failureInFallback
-
stackOverflow
@Message("Stack overflow while copying {0}") @Log(id=101, level=WARNING) ReflectiveCopyException stackOverflow(Object source, @Chain StackOverflowError ex) -
couldNotCopy
@Message("Could not copy {0}") @Log(id=201, level=WARNING) ReflectiveCopyException couldNotCopy(Object obj, ReflectiveCopyException exc) -
cannotCopyInterface
-
couldNotFindClassCopier
-
cannotCopyClass
-
exceptionInReadResolve
-
noClassCopierForSuperclass
-