Слава за попытку понять детали языка. В то же время, ИМХО, гораздо важнее понять, почему вы должны перехватить исключение по ссылке (и выбросить его по значению), чем почему вы можете .
Люди обычно используют иерархию классов исключений, а перехват по ссылке позволяет использовать полиморфизм и перехватывать исключение базового класса, когда нет необходимости обрабатывать отдельные типы исключений отдельно. Если вы не смогли отловить по ссылке, вам пришлось бы написать предложение catch
для каждого возможного типа исключения, которое может быть выброшено в предложении try
.