org.scalatest

# ModifiableMessage

#### 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, `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 `intercept` call requires using `withClue`:

    withClue("this is a clue") {
      intercept[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 be === 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

Linear Supertypes
AnyRef, Any
Known Subclasses
GeneratorDrivenPropertyCheckFailedException, JUnitTestFailedError, PropertyCheckFailedException, PropertyTestFailedException, TableDrivenPropertyCheckFailedException, TestFailedException
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. ModifiableMessage
2. AnyRef
3. Any

Visibility

1. Public
2. All

### Abstract Value Members

1. #### 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 lone `Option[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 lone `Option[String]` parameter.

   Implementations of this method may either mutate this exception or return a new instance with the revised detail message.

   fun

     An object whose `toString` method returns a message to append to this exception's detail message.

   Attributes
     abstract

### Concrete 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 clone (): AnyRef

   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws()

8. #### def eq (arg0: AnyRef): Boolean

   Attributes
     final
   Definition Classes
     AnyRef

9. #### def equals (arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

10. #### def finalize (): Unit

    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()

11. #### def getClass (): java.lang.Class[_]

    Attributes
      final
    Definition Classes
      AnyRef

12. #### def hashCode (): Int

    Definition Classes
      AnyRef → Any

13. #### def isInstanceOf [T0] : Boolean

    Attributes
      final
    Definition Classes
      Any

14. #### def ne (arg0: AnyRef): Boolean

    Attributes
      final
    Definition Classes
      AnyRef

15. #### def notify (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

16. #### def notifyAll (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

17. #### def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
      final
    Definition Classes
      AnyRef

18. #### def toString (): String

    Definition Classes
      AnyRef → Any

19. #### def wait (): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

20. #### def wait (arg0: Long, arg1: Int): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

21. #### def wait (arg0: Long): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

### Inherited from AnyRef

### Inherited from Any