you are correct, since the run method does not declare any throw (as specified in the API). When you override a method (from
Thread here) you can only throw the same Exceptions or less.
This way, someone using your class assuming that it is a Thread, can use the run method as expected
Regards,
Alex