I’ve always found C++'s “trend” of handling normal or non-exceptional system errors with exceptions lackluster (and I’m being charitable). Overall trimming things down to (basically) passing around a couple integers and telling the user to check their manual is much better, much less error prone, and much more efficient and deterministic.


At work we literally just went through this yesterday, just with
folly::Expected. A new guy joined the team and wanted to propose we update how we handle errors.