Junior
Wie würden Sie Ausnahmen höher im Aufrufstapel auslösen?
sobes.tech KI
Antwort von AI
Ich verwende das Schlüsselwort throw, um eine Ausnahme erneut auszulösen oder eine neue zu erstellen.
public void method1() throws CustomException {
try {
// Irgend ein Code, der AnotherException auslösen kann
method2();
} catch (AnotherException e) {
// Erfassen von AnotherException
// Es in CustomException einwickeln und nach oben werfen
throw new CustomException("Fehler in Method2: " + e.getMessage(), e);
}
}
public void method2() throws AnotherException {
// Irgend ein Code, der eine Ausnahme auslösen kann
throw new AnotherException("Etwas ist schief gelaufen in Method2");
}
class CustomException extends Exception {
public CustomException(String message, Throwable cause) {
super(message, cause);
}
}
class AnotherException extends Exception {
public AnotherException(String message) {
super(message);
}
}
Oder, wenn Sie nur die gefangene Ausnahme weitergeben möchten, ohne eine neue zu erstellen:
public void methodA() throws SomeException {
try {
methodB();
} catch (SomeException e) {
// Protokollierung oder andere Aktionen
// Die gleiche Ausnahme nach oben weitergeben
throw e;
}
}
public void methodB() throws SomeException {
// Code, der SomeException auslösen kann
throw new SomeException("Fehler in MethodB");
}
class SomeException extends Exception {
public SomeException(String message) {
super(message);
}
}