summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2010-04-13 21:48:21 +0000
committerPhilipp Haller <hallerp@gmail.com>2010-04-13 21:48:21 +0000
commit6c213d1c8198423076c111271fd6018a82593087 (patch)
tree0f27e0dd24ee3031de9e9b76e3c113b42d283aef
parent248ae6753e94429d5a5c14f9039ecf588b19b5bc (diff)
downloadscala-6c213d1c8198423076c111271fd6018a82593087.tar.gz
scala-6c213d1c8198423076c111271fd6018a82593087.tar.bz2
scala-6c213d1c8198423076c111271fd6018a82593087.zip
Reverted r21523. No review.
-rw-r--r--src/actors/scala/actors/ActorTask.scala2
-rw-r--r--src/actors/scala/actors/IScheduler.scala19
-rw-r--r--src/actors/scala/actors/ReactorTask.scala13
-rw-r--r--src/actors/scala/actors/UncaughtException.scala2
4 files changed, 11 insertions, 25 deletions
diff --git a/src/actors/scala/actors/ActorTask.scala b/src/actors/scala/actors/ActorTask.scala
index 6757a69a43..2fa24f93af 100644
--- a/src/actors/scala/actors/ActorTask.scala
+++ b/src/actors/scala/actors/ActorTask.scala
@@ -29,7 +29,7 @@ private[actors] class ActorTask(actor: Actor,
actor.exit()
}
- protected override def terminateExecution(e: Throwable) {
+ protected override def terminateExecution(e: Exception) {
val senderInfo = try { Some(actor.sender) } catch {
case _: Exception => None
}
diff --git a/src/actors/scala/actors/IScheduler.scala b/src/actors/scala/actors/IScheduler.scala
index f65aa020f8..1718dab045 100644
--- a/src/actors/scala/actors/IScheduler.scala
+++ b/src/actors/scala/actors/IScheduler.scala
@@ -68,25 +68,6 @@ trait IScheduler {
def managedBlock(blocker: scala.concurrent.ManagedBlocker): Unit
- /** This method is called when an exception is not handled by
- * some reactor while processing a certain message.
- *
- * @param t the unhandled exception
- * @param reactor the reactor inside which the exception was thrown
- * @param msg the message last removed from the reactor's mailbox
- */
- def handleUncaughtThrowable[Msg >: Null](t: Throwable, reactor: Reactor[Msg], msg: Msg) {
- // print message on default error stream
- val msgException = "Uncaught exception in "+reactor+"\n"
- val msgMessage = if (msg != null) "Message: "+msg+"\n" else ""
- Debug.doWarning {
- Console.err.print(msgException + msgMessage)
- t.printStackTrace()
- }
- if (t.isInstanceOf[Error])
- throw t
- }
-
@deprecated("this member is going to be removed in a future release")
def tick(a: Actor) {}
diff --git a/src/actors/scala/actors/ReactorTask.scala b/src/actors/scala/actors/ReactorTask.scala
index 2e25459c9d..3f9ebb6fa7 100644
--- a/src/actors/scala/actors/ReactorTask.scala
+++ b/src/actors/scala/actors/ReactorTask.scala
@@ -49,9 +49,14 @@ private[actors] class ReactorTask[Msg >: Null](var reactor: Reactor[Msg],
case _: SuspendActorControl =>
// do nothing (continuation is already saved)
- case e: Throwable =>
- // re-throws `Error`s by default
- reactor.scheduler.handleUncaughtThrowable(e, reactor, msg)
+ case e: Exception =>
+ // print message on default error stream
+ val msgException = "Uncaught exception in "+reactor+"\n"
+ val msgMessage = if (msg != null) "Message: "+msg+"\n" else ""
+ Debug.doWarning {
+ Console.err.print(msgException + msgMessage)
+ e.printStackTrace()
+ }
terminateExecution(e)
reactor.terminated()
@@ -72,6 +77,6 @@ private[actors] class ReactorTask[Msg >: Null](var reactor: Reactor[Msg],
protected def suspendExecution() {}
- protected def terminateExecution(e: Throwable) {}
+ protected def terminateExecution(e: Exception) {}
}
diff --git a/src/actors/scala/actors/UncaughtException.scala b/src/actors/scala/actors/UncaughtException.scala
index 1829d48606..54c28f66cf 100644
--- a/src/actors/scala/actors/UncaughtException.scala
+++ b/src/actors/scala/actors/UncaughtException.scala
@@ -23,7 +23,7 @@ class UncaughtException[Msg >: Null](val actor: Reactor[Msg],
val message: Option[Msg],
val sender: Option[OutputChannel[Any]],
val thread: Thread,
- cause: Throwable)
+ cause: Exception)
extends Exception(cause) {
override def toString() =