I have the main thread of execution which spawns new threads. In the main thread of execution in main() I am calling Thread.sleep(). When do I get an Unhandled exception type InterruptedException?.
I am unsure of why am I getting this. I thought this was because I needed a reference to the main thread so I went ahead and made a reference to it via Thread.currentThread().
Is this not the way to have the thread sleep? What I need to do is have the main thread wait/sleep/delay till it does it required work again.
What you see is a compilation error, due to the fact that you didn’t handle the checked exception (
InterruptedExceptionin this case) properly. Handling means doing one of the following:1) Declaring the method as
throws InterruptedException, thus requiring the caller to handle the exception2) Catching it with a
try{..}catch(..){..}block. For example:InterruptedExceptionis used to indicate that the current thread has been interrupted by an external thread while it was performing some blocking operation (e.g. interruptible IO, wait, sleep)