Sono certo che siamo tutti incappati in uno scenario in cui un'API di terza parte si lamenta di una traccia di stack incompleta. In sostanza, la gestione degli errori nell'API di terze parti fa qualcosa del genere,
catch (WhateverException e) {
throw new ConfusingException("Something terrible happened, BUT I won't tell you what!");
}
Ora qui quando viene lanciata la ConfusingException non passa WhateverException come causa nel secondo param, e quindi quando qualcuno che usa questa API ottiene l'eccezione non otterrebbe l'intera traccia. Purtroppo, è ancora comune vedere le persone scrivere questo codice e peggiora quando non si ha il controllo del codice.
Qual è la strategia che seguiresti di fronte alla situazione: come trovi il messaggio di eccezione e la linea su cui è stata sollevata WhateverException?