java.lang.Object | +----java.lang.Throwable | +----java.lang.Exception | +----java.lang.RuntimeException | +----COM.odi.ObjectStoreException | +----COM.odi.odmg.ODMGException | +----COM.odi.DatabaseException | +----COM.odi.odmg.DatabaseIsReadOnlyException | +----COM.odi.UpdateReadOnlyException
Note that the exception might not be thrown right away. For example, in the interests of efficiency, this exception might not be signaled when an attempt is made to modify an object. It might be delayed until the object is evicted.
You can invoke Database.getOpenMode() to determine whether the database was opened for update or readonly. You can invoke Transaction.getType() to determine whether the transaction is for read-only or update. Extends COM.odi.odmg.DatabaseIsReadOnlyException to fit into the ODMG exception heirachy.