trait ModifiableMessage[T <: Throwable] extends AnyRef
Trait implemented by exception types that can modify their detail message.
This trait facilitates the withClue construct provided by trait
Assertions. This construct enables extra information (or "clues") to
be included in the detail message of a thrown exception. Although both
assert and expect provide a way for a clue to be
included directly, assertThrows, intercept, and ScalaTest matcher expressions
do not. Here's an example of clues provided directly in assert:
assert(1 + 1 === 3, "this is a clue")
and in expect:
expect(3, "this is a clue") { 1 + 1 }
The exceptions thrown by the previous two statements will include the clue
string, "this is a clue", in the exceptions detail message.
To get the same clue in the detail message of an exception thrown
by a failed assertThrows call requires using withClue:
withClue("this is a clue") { assertThrows[IndexOutOfBoundsException] { "hi".charAt(-1) } }
Similarly, to get a clue in the exception resulting from an exception arising out
of a ScalaTest matcher expression, you need to use withClue. Here's
an example:
withClue("this is a clue") { 1 + 1 should === (3) }
Exception types that mix in this trait have a modifyMessage method, which
returns an exception identical to itself, except with the detail message option replaced with
the result of invoking the passed function, supplying the current detail message option
as the lone String parameter.
- Self Type
- ModifiableMessage[T] with Throwable
- Source
- ModifiableMessage.scala
- Alphabetic
- By Inheritance
- ModifiableMessage
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        modifyMessage(fun: (Option[String]) ⇒ Option[String]): T
      
      
      Returns an instance of this exception's class, identical to this exception, except with the detail message option replaced with the result of invoking the passed function, fun, supplying the current detail message option as the loneOption[String]parameter.Returns an instance of this exception's class, identical to this exception, except with the detail message option replaced with the result of invoking the passed function, fun, supplying the current detail message option as the loneOption[String]parameter.Implementations of this method may either mutate this exception or return a new instance with the revised detail message. - fun
- A function that returns the new detail message option given the old one. 
 
Concrete Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        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()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )