package org.deuce.transaction; import org.deuce.objectweb.asm.Type; import org.deuce.transform.Exclude; /** * If thrown under the context of an active transaction the current transaction * context will be rolled back and a new retry will be initialized. * * @author Guy Korland * @since 1.0 */ @Exclude public class TransactionException extends RuntimeException { final static public String TRANSACTION_EXCEPTION_INTERNAL = Type.getInternalName(TransactionException.class); public TransactionException(){} public TransactionException( String msg){ super(msg); } public TransactionException( Throwable cause){ super(cause); } @Override public Throwable fillInStackTrace(){ return null;} // light exception with no stack trace @Override public Throwable initCause(Throwable cause) { throw new IllegalStateException("Can't set cause."); } }