“In particular, it helps to develop a habit of eyeing with mild suspicion anything that might turn out to be a function call --- including user-defineed operators, user-defined conversions, and silent temporary objects among the more subtle cluprits - because any function call might throw.”