class ServiceImpl {
@Autowired
EmailService emailService;
public void arr() throws Exception,CommonCustomException {
int[] arr = { 1, 2, 3, 4 };
try{
for (int i = 0; i < arr.length() + 1; i++) {
System.out.print(i + " ");
}
}
catch(exception e)
{
throw new Exception();
}
try{
emailService.sendMail("Subject of mail", "body of mail", "xuz@gmail.com", "abc@gmail.com");
}
Catch(CommonCustomException e)
{
throw new CommonCustomException("Exception occured while sending
mail");
}
}
}
@EnableAsync
class EmailService {
@Async
public void sendMail(String subject, String body, String from, String to) {
// Implementation of sendMail function
}
}
Я использовал аннотацию @Async
в почтовой службе для запуска почты, если в методе вызывающего абонента возникает какая-либо ошибка, почта запускается независимо от каких-либо исключений в методе вызывающего.
Я не хочу, чтобы метод электронной почты выполнялся после возникновения ошибки в методе вызывающей стороны. как я могу справиться с этим?
В приведенном выше примере for-l oop выдает исключение arrayIndexOutOfBoundException даже после того, как возникнет исключение, почта будет инициирована, поскольку это функция asyn c. Я не хочу, чтобы почта запускалась, если в методе arr () возникает исключение.