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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static 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) void
failureInFallback
(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
-