Если существует иерархия исключений, вы можете использовать базовый класс для перехвата всех подклассов исключений. В вырожденном случае вы можете перехватить все исключения Java с:
try {
...
} catch (Exception e) {
someCode();
}
В более распространенном случае, если RepositoryException является базовым классом, а PathNotFoundException является производным классом, тогда:
try {
...
} catch (RepositoryException re) {
someCode();
} catch (Exception e) {
someCode();
}
Приведенный выше код будет перехватывать RepositoryException и PathNotFoundException для одного вида обработки исключений, а все другие исключения объединяются.
Начиная с Java 7, согласно ответу @ OscarRyz выше:
try {
...
} catch( IOException | SQLException ex ) {
...
}