Scala Library: scala.util.control.NoStackTrace
scala.util.control.NoStackTrace
trait NoStackTrace extends Throwable
A trait for exceptions which, for efficiency reasons, do not fill in the stack trace. Stack trace suppression can be disabled on a global basis via a system property wrapper in scala.sys.SystemProperties.
- Source
- Since
- 2.8
Value Members From java.lang.Throwable
final def addSuppressed(arg0: java.lang.Throwable): Unit
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
def getCause(): java.lang.Throwable
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
final def getSuppressed(): Array[java.lang.Throwable]
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
def initCause(arg0: java.lang.Throwable): java.lang.Throwable
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
def printStackTrace(arg0: PrintStream): Unit
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
def printStackTrace(arg0: PrintWriter): Unit
- Definition Classes
- Throwable
(defined at java.lang.Throwable)
def setStackTrace(arg0: Array[StackTraceElement]): Unit
- Definition Classes
- Throwable (defined at java.lang.Throwable)
Full Source:
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2013, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
package scala
package util.control
/** A trait for exceptions which, for efficiency reasons, do not
* fill in the stack trace. Stack trace suppression can be disabled
* on a global basis via a system property wrapper in
* [[scala.sys.SystemProperties]].
*
* @author Paul Phillips
* @since 2.8
*/
trait NoStackTrace extends Throwable {
override def fillInStackTrace(): Throwable =
if (NoStackTrace.noSuppression) super.fillInStackTrace()
else this
}
object NoStackTrace {
final def noSuppression = _noSuppression
// two-stage init to make checkinit happy, since sys.SystemProperties.noTraceSuppression.value calls back into NoStackTrace.noSuppression
final private var _noSuppression = false
_noSuppression = sys.SystemProperties.noTraceSuppression.value
}
Interested in Scala?
I send out weekly, personalized emails with articles and conference talks.
Subscribe now.