There is no standard display that I know of. What I have done in the past is to translate the ones I know about and the catch block for System.Runtime.InteropServices.SEHException. All untranslated exceptions will be turned into this exception. As long as you have a debug build of code that throws an exception, you should get a nice stack trace. Then you can go and look at the exception and write a wrapper.
But in the last project I had to do this, I went with something much simpler, in the end I wrote a couple of System.Exception derivatives for logic_error and runtime_error. Then I would catch these 2 base classes and use typeid (err) to write the .NET message that was thrown. Thus, I did not "lose" what was thrown from C ++, but I did not need to display everything except the most important ones.
source share