Jak kontynuować wykonywanie programu nawet po rzuceniu wyjątku?

Mam wymaganie, w którym przepływ wykonywania programu powinien być kontynuowany nawet po zgłoszeniu wyjątku.

for(DataSource source : dataSources) {
    try {
        //do something with 'source'
    } catch (Exception e) {
    }
}

Jeśli wyjątek zostanie zgłoszony w pierwszej iteracji, wykonanie przepływu zostanie zatrzymane. Moje wymaganie jest nawet po rzuceniu wyjątku dla pierwszej iteracji, inne iteracje powinny być kontynuowane. Czy mogę napisać logikę w bloku catch?