titledborder sirve settitle que poner para borde java eclipse code-generation content-assist

java - sirve - ¿Desea cambiar la excepción no controlada autogenerada en Eclipse?



settitle java (4)

Si tengo una excepción no controlada en Java, Eclipse me propone dos opciones: (1) agregar declaración de tiros y (2) envolver con intentar / atrapar.

Si elijo (2) añade un código.

try { myfunction(); } catch (MyUnhandledException e) { // TODO Auto-generated catch block e.printStackTrace(); }

Quiero cambiar esto a

try { myfunction(); } catch (MyUnhandledException e) { throw new RuntimeException(e); }

es posible?

ACTUALIZAR

¿Por qué les encanta tanto cambiar el tema de la gente?

Si la excepción se captura e imprime, tampoco es necesario que la atrape más. Me gusta que mi aplicación falle si me olvido de manejar una excepción por error. Entonces, me gusta volver a lanzarlo por defecto.


Personalmente, utilizo un lenguaje genérico independientemente del tipo de excepción real verificada, puede hacer que Eclipse use eso como una plantilla:

try { ... } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); }

El punto es envolver todo el bloque de código en lugar de individualmente cada línea que puede generar una excepción. El bloque puede lanzar cualquier número de excepciones marcadas y no comprobadas, y esto permitirá que las excepciones no controladas pasen sin ser dañadas, y las excepciones comprobadas serán envueltas.


Probablemente esté al tanto de esto ... pero si desea deshacerse de todo el desorden y las irritaciones molestas de las excepciones comprobadas, ¿por qué no agregar throws Exception a todos los métodos?

En el caso de un método de interfaz anulado, este tipo de patrón podría utilizarse:

@Override public void close() throws IOException { try { _close(); } catch (Exception e) { // TODO Auto-generated catch block throw new RuntimeException(e); } } private void _close() throws Exception { // ... closing ops }


Sí, puede cambiar el código predeterminado agregado por Eclipse.

  1. En Preferencias, navegue a Java> Estilo de código> Plantillas de código .
  2. En Código , seleccione Bloquear cuerpo de captura .
  3. Pulse el botón Editar para cambiar el código. Cuando haya terminado, presione el botón OK .

Considere agregar un comentario TODO en el bloque catch predeterminado. Por ejemplo, el valor predeterminado incluye:

// ${todo} Auto-generated catch block


Si está volviendo a lanzar su excepción de la cláusula catch, entonces tendría que manejar el método que invocó su método actual. Pero si envuelve su excepción en RuntimeException , no necesitará manejarlo. ¿Pero por qué harías eso?

Quiero decir por qué no simplemente: -

try { myfunction(); } catch (MyUnhandledException e) { throw e; }

Porque, en su código, básicamente está envolviendo una checked exception en una unchecked one . Si asumo su MyUnhandledException como checked exception .

Y también tenga en cuenta que, si está siguiendo este enfoque, aún tendría que declare it de su throws clause .

Si solo quieres hacer lo que estás haciendo, entonces también funcionará bien. Puede cambiar la Eclipse setting según la respuesta de @ Andy.

Pero, sería mejor mirar su diseño. ¿Por qué el método anulado genera una excepción no declarada en su método overriden ? Probablemente hay algo mal, que debe ser corregido.