python threading: how to interrupt the main thread and make it do something else

Using python threading, is it possible to interrupt the main thread without terminate it and ask it to do something else?

For example,

def watch():
    while True:
        sleep(10)
        somethingWrong = check()
        if somethingWrong:
            raise Exception("something wrong")
try:
    watcher = threading.Thread(target=watch)
    watcher.start()
    doSomething()
except:
    doSomethingElse()

In this program the main thread is not affected when an exception is raised in the thread watcher and keep doSomething. I want the exception raised in the child thread to propogate to the main thread and make the main thread doSomethingElse.

This is not how game development works.
Because games need to render 60 times per second, everything that happens in a frame has to be a polled state machine.
Thus, you should set some flag in the “somethingWrong” case, and you should test for this flag in each per-frame iteration in the main loop.
Typically, you’ll also want to update (copy or lock) the state you read in the main frame step function, so it doesn’t change while you’re processing a frame.