¿Cómo debo manejar las excepciones cuando uso SwingWorker?

Uso SwingWorker en Java 6 para evitar ejecutar código de ejecución prolongada en el subproceso de envío de eventos.

Si la llamada a get () en mi método done () devuelve una excepción, ¿cuál es la forma adecuada de manejar la excepción?

Estoy particularmente preocupado por las posibles interrupciones. El ejemplo de JavaDoc simplemente ignora la excepción, pero a lo largo de los años he aprendido que tragar excepciones conduce a un código difícil de depurar.

Un ejemplo de uso es el siguiente:

new SwingWorker<String, Void>() {

    @Override
    protected String doInBackground() throws Exception {
        // do long-running calculation
        return result;
    }

    @Override
    protected void done() {
        try {
            setTextField(get());
        } catch (InterruptedException e) {
            e.printStackTrace();  
        } catch (ExecutionException e) {
            e.printStackTrace();  
        }
    }
}.execute();

Respuestas a la pregunta(7)

Su respuesta a la pregunta