Como capturar exceções em trabalhadores no multiprocessamento

Estou trabalhando com o módulo de multiprocessamento no Python (2.7.3) e quero depurar algumas coisas acontecendo nos meus trabalhadores. No entanto, parece que não consigo capturar nenhuma exceção nos threads de trabalho.

Um exemplo mínimo:

import multiprocessing as mp


a=[1]
def worker():
    print a[2]


def pool():
    pool = mp.Pool(processes=1)
    pool.apply_async(worker, args = ())
    pool.close()
    pool.join()
    print "Multiprocessing done!"


if __name__ == '__main__':
    pool()

Isso deve gerar um IndexError, mas apenas minha saída é

    Multiprocessing done!

Existe uma maneira de me mostrar todas as exceções que ocorrem nos threads de trabalho sem aumentar manualmente as minhas?

questionAnswers(2)

yourAnswerToTheQuestion