org.hypergraphdb.transaction
Class HGTransactionException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by org.hypergraphdb.transaction.HGTransactionException
All Implemented Interfaces:
java.io.Serializable

public class HGTransactionException
extends java.lang.Exception

A HGTransactionException is thrown from within the transaction handling of HyperGraph. When such an exception is thrown during an operation on a particular transaction, that transaction must be assumed invalid. Thus, when HGTransactionException is caught, this means that the current transaction has become invalid and cannot not be aborted. Similarly, when caught a HGTransactionException should never be rethrown which could prevent the freeing of parent transaction up the call stack. If you need to propagate a HGTransactionException, you must wrap it in some other exception (e.g. RuntimeException).

HGTransactionExceptions mean one of two things:

  1. A bug in the client code that's attempting to commit/abort an unexisting or an already completed transaction.
  2. A low-level problem in the underlying storage mechanism (e.g. BerkeleyDB) that should also be investigated separately, possibly after running a DB recovery.

Author:
Borislav Iordanov
See Also:
Serialized Form

Method Summary
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait