scala.concurrent.stm.Txn

UncaughtExceptionCause

case class UncaughtExceptionCause (x: Throwable) extends PermanentRollbackCause with Product with Serializable

The RollbackCause for an atomic block that should not be restarted because it threw an exception. The exception might have been thrown from the body of the atomic block or from a handler invoked before the commit decision. Exceptions used for control flow are not included (see TxnExecutor.isControlFlow).

Scala's STM discards Ref writes performed by atomic blocks that throw an exception. This is referred to as "failure atomicity". In a system that uses exceptions for error cleanup this design tends to preserve the invariants of shared data structures, which is a good thing. If a system uses exceptions for control flow, however, this design may lead to unexpected behavior. The TxnExecutor object's isControlFlow method is used to distinguish exceptions representing control flow transfers from those used to represent error conditions. See TxnExecutor.transformDefault to change the default rules.

Linear Supertypes
Serializable, Serializable, Product, Equals, PermanentRollbackCause, RollbackCause, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. UncaughtExceptionCause
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. PermanentRollbackCause
  7. RollbackCause
  8. AnyRef
  9. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UncaughtExceptionCause (x: Throwable)

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def canEqual (arg0: Any): Boolean

    Definition Classes
    UncaughtExceptionCause → Equals
  8. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  10. def equals (arg0: Any): Boolean

    Definition Classes
    UncaughtExceptionCause → Equals → AnyRef → Any
  11. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  13. def hashCode (): Int

    Definition Classes
    UncaughtExceptionCause → AnyRef → Any
  14. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  15. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  16. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  17. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  18. def productArity : Int

    Definition Classes
    UncaughtExceptionCause → Product
  19. def productElement (arg0: Int): Any

    Definition Classes
    UncaughtExceptionCause → Product
  20. def productIterator : Iterator[Any]

    Definition Classes
    Product
  21. def productPrefix : String

    Definition Classes
    UncaughtExceptionCause → Product
  22. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  23. def toString (): String

    Definition Classes
    UncaughtExceptionCause → AnyRef → Any
  24. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  25. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  26. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  27. val x : Throwable

  28. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PermanentRollbackCause

Inherited from RollbackCause

Inherited from AnyRef

Inherited from Any