Não mostrar a exception no console. Tem como?

Galera,

ao executar uma aplicação via console, quando ocorre um erro numa dependência printa toda a exception na console(mesmo com Catch sem e.printStackTrace), tem como suprimir isso?

Valeu.

Creio que vc vai ter que cofigurar dentro de seu servidor (tomCat, Jboss etc…)

Mas só uma pequena dúvida, por que você deseja fazer isso ?

Se sua aplicação é console, basta definir a saída de erro padrão para outro lugar. Por exemplo, poderia ser para um arquivo:

System.setErr(new PrintStream(new File("C:\logs\minhaAplicacao.log"));

Outra boa opção é usar a API de log do próprio Java:
http://onjava.com/pub/a/onjava/2002/06/19/log.html

A única opção que você não deve seguir é desaparecer completamente com a mensagem de erro. Afinal, elas ajudam a descobrir qual é o problema que seu código passa.

Além disso, é importante também registrar um UncaughtExceptionHandler na sua aplicação. Procure sobre o método Thread.setUncaughtExceptionHandler, pois é ele que é chamado antes da exceção ser impressa. Capturando a exception lá e enviando para algum arquivo de log vc pode suprimi-la do console.

Não roda em servidor… é um jar executado via agendador…

[quote=ederson.js]Mas só uma pequena dúvida, por que você deseja fazer isso ?
[/quote]

Esse jar é uma aplicação que verifica disponibilidade de outra aplicação, ou seja, verifica o status e printa a resposta no console(sysout).
O problema é quando a outra aplicação está indisponível(problema qualquer…) aí tenho dependências na minha aplicação que printa no console o “connection timeout” e todo o trace da exception também…

O administrador do servidor, tem um script que executa esse jar e “lê” esse resultado no console … nesse caso quando dá erro e é jogada a exception no console, o script se perde…

Entendi TUX, muito interessante essa sua aplicação, estou trabalhando em uma semelhante que é executada pelo CRONTAB, porém ela somente alimenta xml’s e reporta via socket.
Penso então que a resposta do VINI será a melhor opção.

Valeu

Só um detalhe. Erros a aplicação imprime no System.err e não no System.out. Mas existe os comandos setErr e setOut, caso vc precise redirecionar os dois.