Junior
Kako biste bacili izuzetke više u steku poziva?
sobes.tech АИ
Одговор од АИ
Koristim ključnu reč throw da bih ponovo bacio ili kreirao novu izuzetak.
public void method1() throws CustomException {
try {
// Neki kod koji može da baci AnotherException
method2();
} catch (AnotherException e) {
// Hvatanje AnotherException
// Uključivanje u CustomException i podizanje dalje
throw new CustomException("Greška u Method2: " + e.getMessage(), e);
}
}
public void method2() throws AnotherException {
// Neki kod koji može da baci izuzetak
throw new AnotherException("Nešto je pošlo po zlu u Method2");
}
class CustomException extends Exception {
public CustomException(String message, Throwable cause) {
super(message, cause);
}
}
class AnotherException extends Exception {
public AnotherException(String message) {
super(message);
}
}
Ili, ako želite samo da prosledite uhvaćen izuzetak bez pravljenja novog:
public void methodA() throws SomeException {
try {
methodB();
} catch (SomeException e) {
// Logovanje ili druge radnje
// Prosleđivanje istog izuzetka dalje
throw e;
}
}
public void methodB() throws SomeException {
// Kod koji može da baci SomeException
throw new SomeException("Greška u MethodB");
}
class SomeException extends Exception {
public SomeException(String message) {
super(message);
}
}