Opa, e ai meu nobre!
Se o método deleteById que você está usando for do pacote org.springframework.data.repository a documentação do método fala isso:
/**
* Deletes the entity with the given id.
* <p>
* If the entity is not found in the persistence store it is silently ignored.
*
* @param id must not be {@literal null}.
* @throws IllegalArgumentException in case the given {@literal id} is {@literal null}
*/
void deleteById(ID id);
De acordo com a documentação, o método não retorna exceção caso o item não seja deletado. No máximo ele retorna IllegalArgumentException se o id passado for nulo.
Partindo desta premissa, acho mais seguro você escrever:
public void delete(Long id) {
if ( ! repository.existsById(id))
throw new ResourceNotFoundException("id not found");
repository.deleteById(id);
}
Obs: Não esqueça de anotar seu metodo ou classe com @Transactional ;)
Espero ter ajudado de alguma forma!