Ho un server Jersey che gestisce le richieste REST in cui ho implementato un RuntimeExceptionsMapper implements ExceptionMapper<RuntimeException>
. Se c'è un'eccezione imprevista, la gestisce gestendo l'eccezione internamente e restituendo un 500 con il testo "Server Error"
. Non voglio perdere nessuna informazione come framework o versioni di librerie ai miei utenti se scoprono un errore.
Devo anche implementare qualcosa per gestire java.lang.Error
s? Si tratta principalmente di errori irreversibili, come StackOverflow, OutOfMemory o errori VirtualMachine. Il consiglio generale relativo agli errori è "Non prenderli, la JVM è in uno stato irrecuperabile, lascia morire la tua applicazione". Tuttavia, mi sembra che se arrivo alla fase ExceptionMapping, qualcos'altro interno a Jersey ha già rilevato l'errore e sta cercando di gestirlo. Nel caso che , non voglio ancora rivelare ai miei utenti che sto usando la versione X.Y.Z di Jersey. Dovrei provare a formattare un messaggio o è solo peggiorare la situazione?