abstract class SpacException[Self <: SpacException[Self]] extends Exception with NoStackTrace
Base class for all exceptions thrown by Spac parsers.
A SpacException
holds a spacTrace
, which is similar to a *stack* trace, but uses a specialized element type
to hold helpful debug information about the cause and context of the exception, and the input that caused it.
SpacException uses NoStackTrace
to suppress the usual stack trace, since exceptions thrown by a Parser
will not have useful stack trace information for end users of the Spac framework.
- Self
self-type used in the type signature of
withSpacTrace
- Source
- SpacException.scala
- Alphabetic
- By Inheritance
- SpacException
- NoStackTrace
- Exception
- Throwable
- Serializable
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new SpacException(spacTrace: Chain[SpacTraceElement], nonSpacCause: Throwable)
- new SpacException(spacTrace: Chain[SpacTraceElement], spacMessage: String)
- new SpacException(spacTrace: Chain[SpacTraceElement], detail: Either[String, Throwable])
- spacTrace
chain of SpacTraceElements, with the "top" of the stack at the beginning, and the "bottom" of the stack at the end
- detail
a
Left
containing a spac-specific error message, or aRight
containing some non-Spac exception that was caught inside a Parser
Abstract Value Members
- abstract def withSpacTrace(spacTrace2: Chain[SpacTraceElement]): Self
Used internally by the framework, typically in a Transformer.Handler's
unwind
method
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toany2stringadd[SpacException[Self]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (SpacException[Self], B)
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toArrowAssoc[SpacException[Self]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addEarlyTrace(firstTraceElems: SpacTraceElement*): Self
Used internally by the framework, typically in a Transformer.Handler's
unwind
method - def addEarlyTrace(firstTrace: Chain[SpacTraceElement]): Self
Used internally by the framework, typically in a Transformer.Handler's
unwind
method - final def addSuppressed(arg0: Throwable): Unit
- Definition Classes
- Throwable
- def addTrace(nextTraceElems: SpacTraceElement*): Self
Used internally by the framework, typically in a Transformer.Handler's
unwind
method - def addTrace(nextTrace: Chain[SpacTraceElement]): Self
Used internally by the framework, typically in a Transformer.Handler's
unwind
method - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val detail: Either[String, Throwable]
- def ensuring(cond: (SpacException[Self]) => Boolean, msg: => Any): SpacException[Self]
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toEnsuring[SpacException[Self]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (SpacException[Self]) => Boolean): SpacException[Self]
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toEnsuring[SpacException[Self]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): SpacException[Self]
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toEnsuring[SpacException[Self]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): SpacException[Self]
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toEnsuring[SpacException[Self]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fillInStackTrace(): SpacException[Self]
- Definition Classes
- SpacException → NoStackTrace → Throwable
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toStringFormat[SpacException[Self]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- def getCause(): Throwable
- Definition Classes
- Throwable
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getLocalizedMessage(): String
- Definition Classes
- Throwable
- def getMessage(): String
- Definition Classes
- Throwable
- def getStackTrace(): Array[StackTraceElement]
- Definition Classes
- Throwable
- final def getSuppressed(): Array[Throwable]
- Definition Classes
- Throwable
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initCause(arg0: Throwable): Throwable
- Definition Classes
- Throwable
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def printStackTrace(arg0: PrintWriter): Unit
- Definition Classes
- Throwable
- def printStackTrace(arg0: PrintStream): Unit
- Definition Classes
- Throwable
- def printStackTrace(): Unit
- Definition Classes
- Throwable
- def setStackTrace(arg0: Array[StackTraceElement]): Unit
- Definition Classes
- Throwable
- val spacTrace: Chain[SpacTraceElement]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Throwable → AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def →[B](y: B): (SpacException[Self], B)
- Implicit
- This member is added by an implicit conversion from SpacException[Self] toArrowAssoc[SpacException[Self]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.