diff options
author | Martin Odersky <odersky@gmail.com> | 2005-10-05 11:08:17 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-10-05 11:08:17 +0000 |
commit | 0a6b2c44cbdcea9e9c248b6a5b9970ad4cd86001 (patch) | |
tree | c008a12ea7e928b3f34e0c345c84832d90c1c8ad /test-nsc/files/run/exceptions.scala | |
parent | 041a971eb7f89d2976bee5512a6caf7de7bff27c (diff) | |
download | scala-0a6b2c44cbdcea9e9c248b6a5b9970ad4cd86001.tar.gz scala-0a6b2c44cbdcea9e9c248b6a5b9970ad4cd86001.tar.bz2 scala-0a6b2c44cbdcea9e9c248b6a5b9970ad4cd86001.zip |
*** empty log message ***
Diffstat (limited to 'test-nsc/files/run/exceptions.scala')
-rwxr-xr-x | test-nsc/files/run/exceptions.scala | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test-nsc/files/run/exceptions.scala b/test-nsc/files/run/exceptions.scala new file mode 100755 index 0000000000..04fc4a1a85 --- /dev/null +++ b/test-nsc/files/run/exceptions.scala @@ -0,0 +1,53 @@ +//############################################################################ +// Exceptions +//############################################################################ +// $Id$ + +//############################################################################ + +abstract class IntMap[A] { + def lookup(key: Int): A = this match { + case Empty() => error("KO") + case _ => error("ok") + } +} + +case class Empty[A]() extends IntMap[A]; + +object exceptions { + + def check(what: String, actual: Any, expected: Any): Unit = { + val success: Boolean = actual == expected; + Console.print(if (success) "ok" else "KO"); + var value: String = if (actual == null) "null" else actual.toString(); + if (value == "\u0000") value = "\\u0000"; + Console.print(": " + what + " = " + value); + if (!success) Console.print(" != " + expected); + Console.println; + Console.flush; + } + + def test: Unit = { + val key = 2000; + val map: IntMap[String] = new Empty[String]; + val value = try { + map.lookup(key) + } catch { + case e => scala.runtime.compat.Platform.getMessage(e) + } + check("lookup(" + key + ")", value, "KO"); + } + +} + +//############################################################################ + +object Test { + + def main(args: Array[String]): Unit = { + exceptions.test; + } + +} + +//############################################################################ |