public class CorruptedObjectException extends RuntimeException
ConcurrentModificationException
: to reduce the risk of
non-deterministic behavior at an undetermined time in the future after an event has compromised the data integrity.
Like ConcurrentModificationException
, this CorruptedObjectException
should be used only to detect
bugs; it would be wrong to write a program that depends on this exception for its correctness.
This exception is different than AssertionError
in that CorruptedObjectException
is not
necessarily caused by a bug in the library. An object may become corrupted because of external factors, as
illustrated in the use cases below.
Attempt to use an aborted calculation:
if an operation failed in the middle of a structural modification, some specific exception (not
this CorruptedObjectException
) should be thrown and the object discarded. But if the user does not discard
the object and try to use it again, unpredictable behavior may happen. Some implementations are robust enough for
detecting such unsafe usage: their methods may throw this CorruptedObjectException
on attempt to use the
object after the original failure.
Change in an “immutable” object:
some objects are expected to be immutable. For example the same Coordinate Reference System (CRS) instance is
typically shared by thousands of objects. However CoordinateReferenceSystem
is an interface, Therefore, nothing prevent users from providing a mutable instance. For example if the value
returned by CoordinateSystem.getDimension()
changes between two invocations,
many objects that use that coordinate system will fall in an inconsistent state. If an operation detects such
inconsistency, it may throw this CorruptedObjectException
.
Defined in the sis-utility
module
Constructor and Description |
---|
CorruptedObjectException()
Constructs a new exception with no message.
|
CorruptedObjectException(String message)
Constructs a new exception with the specified detail message.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public CorruptedObjectException()
public CorruptedObjectException(String message)
message
- The detail message, or null
if none.Copyright © 2010–2015 The Apache Software Foundation. All rights reserved.