W zasadzie nie ma żadnego powodu.
Obiekty wyjątków żyją we własnej przestrzeni pamięci †, więc nie musisz się martwić o przechwytywanie wyjątków utworzonych w tymczasowych wyrażeniach.
Wszystko, co robisz, to obiecywanie, że nie zmodyfikujesz obiektu wyjątku, ale ponieważ obiekty wyjątków powinny mieć niezmienny interfejs ‡ , tak naprawdę nie ma tu nic praktycznego.
Jednak może sprawić, że poczujesz się ciepło i przytulnie, gdy to przeczytasz - tak to jest dla mnie!
† Mają własny, specjalny stos lokalny dla wątków.
‡ Zastrzeżenie: Boost.Exception przerywa to, aby robić fajne rzeczy i dodawać szczegóły wyjątków po zakończeniu konstrukcji. Ale to jest hakerstwo!