Cómo detectar excepciones en trabajadores en Multiprocesamiento

Estoy trabajando con el módulo de multiprocesamiento en Python (2.7.3) y quiero depurar algunas cosas que están sucediendo en mis trabajadores. Sin embargo, parece que no puedo detectar ninguna excepción en los hilos de trabajo.

Un ejemplo 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()

Se espera que esto genere un IndexError, pero mi salida solo es

    Multiprocessing done!

¿Hay alguna forma de mostrarme todas las excepciones que se producen en los subprocesos de trabajo sin levantar el mío manualmente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta