diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-12-11 19:56:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-12-11 19:56:22 +0100 |
commit | 3bfd83971ec48102fd1e711236f5a313c6a1ce3e (patch) | |
tree | a75d929d7fc7e2c0ac4b5e620a4019a4936abeeb /src/library | |
parent | e1c6dd965aa4249f715bbb2832df182cc5505853 (diff) | |
parent | 9cdbe28c00b39c51ae9afe3066c8b44a6e5f6f96 (diff) | |
download | scala-3bfd83971ec48102fd1e711236f5a313c6a1ce3e.tar.gz scala-3bfd83971ec48102fd1e711236f5a313c6a1ce3e.tar.bz2 scala-3bfd83971ec48102fd1e711236f5a313c6a1ce3e.zip |
Merge commit '9cdbe28' into merge/2.10.x-to-master
Conflicts:
build.examples.xml
build.xml
docs/examples/actors/pingpong.scala
docs/examples/fors.scala
docs/examples/iterators.scala
docs/examples/jolib/Ref.scala
docs/examples/jolib/parallelOr.scala
docs/examples/monads/callccInterpreter.scala
docs/examples/monads/directInterpreter.scala
docs/examples/monads/errorInterpreter.scala
docs/examples/monads/simpleInterpreter.scala
docs/examples/monads/stateInterpreter.scala
docs/examples/parsing/ArithmeticParser.scala
docs/examples/patterns.scala
docs/examples/pilib/elasticBuffer.scala
docs/examples/pilib/handover.scala
docs/examples/pilib/piNat.scala
docs/examples/typeinf.scala
src/build/pack.xml
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/MatchError.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/library/scala/MatchError.scala b/src/library/scala/MatchError.scala index 6ba7e833d3..9965bb19b5 100644 --- a/src/library/scala/MatchError.scala +++ b/src/library/scala/MatchError.scala @@ -23,9 +23,15 @@ final class MatchError(obj: Any) extends RuntimeException { /** There's no reason we need to call toString eagerly, * so defer it until getMessage is called. */ - private lazy val objString = + private lazy val objString = { + def ofClass = "of class " + obj.getClass.getName if (obj == null) "null" - else obj.toString() + " (of class " + obj.getClass.getName + ")" + else try { + obj.toString() + " (" + ofClass + ")" + } catch { + case _: Throwable => "an instance " + ofClass + } + } override def getMessage() = objString } |