Hi everyone.
I have an AbstractAgent object which implements Runnable.
The run() method just calls the abstract method iterate() which is implemented by the child Agent.
The AbstractAgent allows the child Agent access to a private mailbox through a final blocking method getMessage().
I want to kill this thread by sending it a killMessage when it is waiting on a mailbox.
My scheme is when getting a killMessage, throw an exception which will be caught inside the run() method.
The thing is that althugh the exception is created and thrown inside getMessage() and caught inside run(), which are both implemented at the base class, its route is through the child class, which I want for security reasons to be unable to catch or handle the exception. The child class must allow the exception to propagate gracefully to my handler.
Is it possible to implement this? Prevent the child class to handle exceptions that are created and caught inside the base class?

Thanks
Guy