Junior
Kā jūs izmetu izņēmumus augstāk par izsaukšanas steku?
sobes.tech AI
Atbilde no AI
Es izmantoju atslēgvārdu throw, lai atkārtoti mestu vai izveidotu jaunu izņēmumu.
public void method1() throws CustomException {
try {
// Kāds kods, kas var izraisīt AnotherException
method2();
} catch (AnotherException e) {
// Noķeram AnotherException
// To ietveram CustomException un paceļam augšā
throw new CustomException("Kļūda Method2: " + e.getMessage(), e);
}
}
public void method2() throws AnotherException {
// Kāds kods, kas var izraisīt izņēmumu
throw new AnotherException("Kas notika nepareizi Method2");
}
class CustomException extends Exception {
public CustomException(String message, Throwable cause) {
super(message, cause);
}
}
class AnotherException extends Exception {
public AnotherException(String message) {
super(message);
}
}
Vai arī, ja vēlaties vienkārši pārsūtīt noķerto izņēmumu bez jauna izveides:
public void methodA() throws SomeException {
try {
methodB();
} catch (SomeException e) {
// Žurnāls vai citas darbības
// Pārsūtām to pašu izņēmumu uz augšu
throw e;
}
}
public void methodB() throws SomeException {
// Kods, kas var izraisīt SomeException
throw new SomeException("Kļūda MethodB");
}
class SomeException extends Exception {
public SomeException(String message) {
super(message);
}
}