Instance Constructors
-
new
UncaughtExceptionCause
(x: Throwable)
Value Members
-
def
!=
(arg0: AnyRef): Boolean
-
def
!=
(arg0: Any): Boolean
-
def
##
(): Int
-
def
==
(arg0: AnyRef): Boolean
-
def
==
(arg0: Any): Boolean
-
def
asInstanceOf
[T0]
: T0
-
def
canEqual
(arg0: Any): Boolean
-
def
clone
(): AnyRef
-
def
eq
(arg0: AnyRef): Boolean
-
def
equals
(arg0: Any): Boolean
-
def
finalize
(): Unit
-
def
getClass
(): java.lang.Class[_]
-
def
hashCode
(): Int
-
def
isInstanceOf
[T0]
: Boolean
-
def
ne
(arg0: AnyRef): Boolean
-
def
notify
(): Unit
-
def
notifyAll
(): Unit
-
def
productArity
: Int
-
def
productElement
(arg0: Int): Any
-
def
productIterator
: Iterator[Any]
-
def
productPrefix
: String
-
def
synchronized
[T0]
(arg0: ⇒ T0): T0
-
def
toString
(): String
-
def
wait
(): Unit
-
def
wait
(arg0: Long, arg1: Int): Unit
-
def
wait
(arg0: Long): Unit
-
val
x
: Throwable
-
def
productElements
: Iterator[Any]
Inherited from Serializable
Inherited from Serializable
Inherited from Product
Inherited from Equals
Inherited from AnyRef
Inherited from Any
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 (seeTxnExecutor.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. TheTxnExecutor
object'sisControlFlow
method is used to distinguish exceptions representing control flow transfers from those used to represent error conditions. SeeTxnExecutor.transformDefault
to change the default rules.