Về cơ bản không có lý do gì cả.
Các đối tượng ngoại lệ sống trong không gian bộ nhớ của riêng chúng † vì vậy bạn không phải lo lắng về việc bắt các ngoại lệ được tạo trong các biểu thức tạm thời.
Tất cả những gì bạn đang làm là hứa rằng bạn sẽ không sửa đổi đối tượng ngoại lệ, nhưng vì các đối tượng ngoại lệ nên có giao diện bất biến ‡ , nên thực sự không có gì thực tế ở đây.
Tuy nhiên, nó có thể làm cho bạn cảm thấy ấm áp và ấm cúng khi bạn đọc nó - đó là cách đối với tôi!
† Chúng có ngăn xếp cục bộ, đặc biệt, riêng của chúng.
‡ Disclaimer: Boost.Exception phá vỡ điều này để thực hiện những điều thú vị và thêm các chi tiết ngoại lệ, hậu xây dựng. Nhưng đây là hackery!