¿Registrando excepciones en Java?

Estoy usando el registro de commons en una aplicación Java, y quiero registrar la excepción del seguimiento de la pila.

catch( Exception exception ) {
         logger.error( "FailedCreateActivityFunction Exception Occured : " , exception );
         throw new EngineException( getMessage( ERROR_FailedCreateActivityFunction, FunctionName ), exception );
      }

¿Esto arrojará la excepción dos veces? En caso afirmativo, ¿cómo solucionarlo?

¿Cuál es la diferencia entre usarlo de esta manera usando + excepción en lugar de , excepción

logger.error( "FailedCreateActivityFunction Exception Occured : " + exception );
Respuesta 1

No, no arrojará excepción dos veces. Este código arrojará solo EngineException.

Debe evitar iniciar sesión y lanzar excepciones, haga solo una cosa. Iniciar sesión y lanzar es un antipatrón. Puede leer más sobre el manejo de excepciones aquí: Manejo de excepciones Antipatterns .

La diferencia entre esas dos formas de ejecutar el método de error es:

  • en logger.error (String msg, Throwable t): pasa el objeto, por lo que el marco de registro tiene más información y puede mostrar el seguimiento completo de la pila
  • en logger.error (mensaje de String): crea String, no se pasa información adicional al marco de registro
Respuesta: 2

Estoy jugando con los servicios DNS en Java: estoy tratando específicamente de buscar todas las direcciones de google.com y mostrarlas en una matriz, similar a ejecutar una búsqueda usando nslookup: nslookup -q = TXT ...

Ejecución de pruebas de Nightwatch en CI en Chrome. A veces (aproximadamente una vez en 5 compilaciones) me encuentro con el siguiente error, en una de las pruebas. Cada prueba antes de esta funciona bien. Tengo el último Chromedriver ...

Cuando voy a la estructura de mi proyecto y hago clic derecho -> nuevo, solo veo un nuevo archivo / carpeta, etc., pero no hay generación de clases ni paquetes. ¿Cómo consigo que IntelliJ haga esto? (Tengo Intellij 14 Ultimate - ver ...

Soy nuevo en la programación de GUI. Mientras practico el manejo de KeyEvent en Java Swing JTextarea, me enfrento a un problema. La interfaz de escucha se implementa mediante el área de texto en sí. Cuando presioné la tecla VK_ENTER en ...