the transport mechanism needs to be - Type-safe - Dynamic
So it is. Thats the reason why std::exception & Co. are useless from the sight of the end-user, who needs one text with a complete description from which he can conclude what to do, where to look, what's not needed. Third: - Robustness. No throwing, no error allowed. Handling an error while error handling is not only technicity difficile, you have a problem what to do with it. So no recipient of the error object can expect certain information to be included. Probably the "Dynamic"-point is the occasion that we can read almost everywhere the well known shitty-top-100 error messages, a torment that has plagued me since the Atari days. Almost everywhere is the speech of speed of errors, nowhere of completeness. Completeness needs time. Completeness is inconvenient. Completeness needs users eyes. I never have seen error handling code which does respect the user. Every week I see code that makes error handling to the user in the range from cumbersome up to impossible, starting at std::exception (I needed 70 hours to extract all infos from this hierachy to bring them in reasonable form). -- Die Moral von der Geschicht': Spiel' nach den Regeln des Gegners nicht. http://radwege.udoline.de/ GPG: A245 F153 0636 6E34 E2F3 E1EB 817A B14D 3E7E 482E