summaryrefslogtreecommitdiff
path: root/test/files/jvm/actor-uncaught-exception.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/jvm/actor-uncaught-exception.scala')
-rw-r--r--test/files/jvm/actor-uncaught-exception.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/jvm/actor-uncaught-exception.scala b/test/files/jvm/actor-uncaught-exception.scala
index 9f64be26e1..9dbd36dd82 100644
--- a/test/files/jvm/actor-uncaught-exception.scala
+++ b/test/files/jvm/actor-uncaught-exception.scala
@@ -8,20 +8,32 @@ object Test {
case object StartError extends Actor {
def act() {
+ try {
throw new MyException("I don't want to run!")
+ } catch {
+ case e: Throwable if (!e.isInstanceOf[scala.util.control.ControlThrowable] &&
+ !e.isInstanceOf[MyException]) =>
+ e.printStackTrace()
+ }
}
}
case object MessageError extends Actor {
def act() {
+ try {
react {
case _ => throw new MyException("No message for me!")
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}
case object Supervisor extends Actor {
def act() {
+ try {
trapExit = true
link(StartError)
link(MessageError)
@@ -37,6 +49,10 @@ object Test {
exit()
}
}
+ } catch {
+ case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
+ e.printStackTrace()
+ }
}
}