I'm also reminded of Max Gladstone's "Craft Sequence" novels, which have some meso-american themes in a universe where "lawyers ride lightning bolts, souls are currency, and cities are powered by the remains of fallen gods". Highly recommended.
Throwing from a constructor is a fundamental way to make it impossible to construct invalid instances of a class. It's great, especially for immutable classes. Throwing from constructor + immutability = no invalid states ever.