Отдельные типы исключений позволяют передавать больше информации об исключении и его причинах.
Например, FileNotFoundException точно сообщает вам, почему вы получили исключение, и позволяет просматривать свойства исключения, например, какое имя файла вызвало ошибку и т. Д.
С общим классом «Исключение» вы бы знали только «что-то пошло не так», но не то, что конкретно пошло не так. Используя конкретные типы, вы получаете больше возможностей для обработки исключения и корректного восстановления.