Ich habe einen Executor-Dienst, wo der Thread 2-3 mehrere Prozess für das Kontextobjekt ausgeführt wird, und protokolliert den Status in der Datenbank, nachdem jeder Prozess abgeschlossen ist. Der aktuelle Code definiert den try- und catch-Block nach jeder Protokollierungsanweisung, sodass alle Datenbankausnahmen behandelt werden können und der Worker zum nächsten Prozess übergeht.Datenbank Exceptions ordnungsgemäß behandeln
Gibt es ein Designmuster oder eine elegantere Art, dies zu tun. Der Code mehr try und catch-Blöcke innerhalb einer einzigen Funktion hat, die nicht lesbar
-Code-Snippet zum Beispiel ist:
completePayment() {
validateAttribute1();
try {
logResultToDatabase() ;
//calls the entity manager to persist
}
catch (Exception e) {
//do Nothing , continue to validateAttribute2
}
validateAttribute2();
try {
logResultToDatabase() ;//calls the entity manager to persist
}
catch (Exception e) {
//do Nothing , continue to doPayment
}
doPayment();
try {
logResultToDatabase();
}
catch (Exception e) {
//do Nothing.
}
}
Sie den Code nicht beschreiben. Veröffentliche es. –
@ jb-nizet - Ein Beispielcode-Snippet hinzugefügt, um das Problem zu erklären – user3601857