Ich verwende Spring AOP für die Ausnahmebehandlung. Ich verwende um Rat, da ich die Eingabeparameter protokollieren möchte.Rückgabewert nicht nach Abfangen der Ausnahme bei Verwendung von Spring AOP
Mein Aspekt Methode ist wie folgt:
public Object methodName(ProceedingJointPoint pjp){
Object returnVal = null;
try{
returnVal = pjp.proceed();
} catch(Throable t) {
// Log exception
}
return returnVal ;
}
Das Problem derzeit Ich bin vor ist: Wenn die Ausnahme aufgetreten ist, möchte ich die Ausnahme einzuloggen, aber ich will nicht null (returnval) zurückzukehren. Ist es möglich?
Im normalen Szenario ohne AOP: Wenn eine Zeile in der Methode eine Exception nach dieser Zeile auslöst, werden keine anderen Zeilen ausgeführt. Ich will ein solches Verhalten.
Wie können wir es erreichen?
Gibt es eine Möglichkeit der Rückkehr zu vermeiden, ohne Erneutes Auslösen? –
Schau es dir so an: Hättest du hier keinen Aspekt gehabt, hätte der Code eine Ausnahme ausgelöst. Dein Aspekt sollte dieses Verhalten nicht ändern. – artbristol
Es gibt keinen theoretischen Weg, wie eine Methode mit einem deklarierten Rückgabewert normal beendet werden könnte, ohne einen Wert zurückzugeben. Stellen Sie sich vor, wie die Codezeile aussieht, die Ihren Aspekt anspricht. –