public void ejecutar() { String input; String output; _writerService.bienvenida(); input = _readerService.readInputLine(); while (input != "") { try { _logger.registrarSolicitudMapeo(input); output = _inputMaperService.mapThis(input); _logger.registrarResultadoMapeo(output); _writerService.escribir(output); } catch (ExpectedException me) { _writerService.notificarError("Ocurrio un error - Dirijase a './log' para obtener mas detalles", me); _logger.registrarErrorAsync("Ocurrio un error inesperado", me); if (me.isCritical()) { break; } } catch (Exception e) { _writerService.notificarErrorInesperado("Ocurrio un error inesperado - Dirijase a './log' para obtener mas detalles", e); _logger.registrarErrorInesperadoAsync("Ocurrio un error inesperado", e); break; } input = _readerService.readInputLine(); } }