Как продолжить выполнение программы даже после исключения?

У меня есть требование, при котором выполнение программы должно продолжаться даже после выдачи исключения.

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

Если исключение выдается в первой итерации, выполнение потока останавливается. Мое требование - даже после выдачи исключения для первой итерации, другие итерации должны продолжаться. Могу ли я написать логику в блоке catch?