Ho una piccola parte di codice che viene eseguita attraverso alcune transazioni per l'elaborazione. Ogni transazione è contrassegnata da un numero di transazione, che è generato da un programma esterno e non è necessariamente sequenziato. Quando rilevo un'eccezione nel codice di elaborazione, la lancio alla classe principale e la registro per la revisione successiva. Vorrei aggiungere il numero di transazione a questa eccezione generata. È possibile farlo mantenendo la traccia dello stack corretta?Aggiungere un messaggio personalizzato all'eccezione generata mantenendo la traccia di stack in Java
Per esempio:
public static void main(String[] args) {
try{
processMessage();
}catch(Exception E){
E.printStackTrace();
}
}
private static void processMessage() throws Exception{
String transNbr = "";
try{
transNbr = "2345";
throw new Exception();
}catch(Exception E){
if(!transNbr.equals("")){
//stack trace originates from here, not from actual exception
throw new Exception("transction: " + transNbr);
}else{
//stack trace gets passed correctly but no custom message available
throw E;
}
}
}
che è esattamente quello che stavo cercando. Grazie. – thedan