Junior
Ինչպե՞ս կբացառեիք արտահայտությունները վերևում զանգերի տախտակամածում:
sobes.tech AI
Պատասխան AI-ից
Իմ օգտագործում եմ throw բանալի բառը՝ նոր արտահայտում կամ վերարտադրելու համար:
public void method1() throws CustomException {
try {
// Որոշ կոդ, որը կարող է արտածել AnotherException
method2();
} catch (AnotherException e) {
// Արդեն բռնած AnotherException-ը
// Փակել այն CustomException-ի մեջ և վեր բարձրացնել
throw new CustomException("Method2-ում սխալ: " + e.getMessage(), e);
}
}
public void method2() throws AnotherException {
// Որոշ կոդ, որը կարող է արտածել արտահայտություն
throw new AnotherException("Ինչ-որ բան սխալ է եղել Method2-ում");
}
class CustomException extends Exception {
public CustomException(String message, Throwable cause) {
super(message, cause);
}
}
class AnotherException extends Exception {
public AnotherException(String message) {
super(message);
}
}
Կամ, եթե պարզապես ուզում եք վերարտադրել բռնած արտահայտությունը առանց նոր ստեղծելու.
public void methodA() throws SomeException {
try {
methodB();
} catch (SomeException e) {
// Գրանցում կամ այլ գործողություններ
// Դարձնել նույն արտահայտությունը վերև
throw e;
}
}
public void methodB() throws SomeException {
// Կոդ, որը կարող է արտածել SomeException
throw new SomeException("Սխալ MethodB-ում");
}
class SomeException extends Exception {
public SomeException(String message) {
super(message);
}
}