From 8c23908ebb28540e89d3eec8ef699d6af55c3d55 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Sun, 31 May 2009 13:20:43 +0000 Subject: New tests for exceptions and Actor.receiveWithin. --- test/files/jvm/reactor-exceptionOnSend.scala | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/files/jvm/reactor-exceptionOnSend.scala (limited to 'test/files/jvm/reactor-exceptionOnSend.scala') diff --git a/test/files/jvm/reactor-exceptionOnSend.scala b/test/files/jvm/reactor-exceptionOnSend.scala new file mode 100644 index 0000000000..3684943b9b --- /dev/null +++ b/test/files/jvm/reactor-exceptionOnSend.scala @@ -0,0 +1,44 @@ +import scala.actors.Reactor +import scala.actors.Actor._ + +case class MyException(text: String) extends Exception(text) + +object A extends Reactor { + override def exceptionHandler = { + case MyException(text) => + println("receiver handles exception") + } + + def guard(): Boolean = + if (state == 0) { + state = 1 + throw MyException("illegal state") + } else + true + + var state = 0 + + def act() { + loop { + react { + case 'hello if guard() => + println("process") + exit() + } + } + } +} + +object B extends Reactor { + def act() { + A.start() + A ! 'hello + A ! 'hello + } +} + +object Test { + def main(args: Array[String]) { + B.start() + } +} -- cgit v1.2.3