Invocando a Python desde Java

Estoy creando una interfaz para el kit de herramientas interno de mi empresa. La mitad de las herramientas están escritas en python y luego la otra mitad están escritas en varios otros lenguajes de scripting. Así que estoy construyendo un front-end en java usando swing. Hasta ahora puedo invocar scripts de Python a través del siguiente código:

public class Foo
{
    public static void main(String[] args)
    {
        try
        {
            Runtime r = Runtime.getRuntime();
            Process p = r.exec("python foo.py");
            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
            p.waitFor();
            String line = "";
            while (br.ready())
                System.out.println(br.readLine());

        }
        catch (Exception e)
        {
        String cause = e.getMessage();
        if (cause.equals("python: not found"))
            System.out.println("No python interpreter found.");
        }
    }
} 

Lo que funciona a la perfección, pero si la secuencia de comandos de Python encuentra algún error, no los imprime. ¿Cómo puedo asegurarme de que también imprima cualquier error que tenga?

Respuestas a la pregunta(2)

Su respuesta a la pregunta