I'll be hanging out with the cool kids at the Northwest C++ Users Group tomorrow night. If you're in the area, and want to heckle me, swing by. We'll be in building 40 at 6:30 PM. My talk starts at 7:00 PM. I'm talking about the actual runtime cost of exception handling for x64 and x86 on Windows.
Check out http://www.nwcpp.org/Meetings/2006/10.html for the slides, and a video of the talk, if you're interested. You can see my thinning hair in back, my marvelous posture, and my always entertaining speaking style.
Exception handling as in SEH or C++ exceptions or . . .? Just curious.
Both. I implemented it all on the AMD64 platform. Go check out the slides & watch the video, and be amazed at what a geek I am :-)
Hi, I just watched the talk, and it was great.
just wondering what you think about exception safty, as you said the exception should really be exceptional, and only use it when necessary.
Is it worth making all your functions exception safe or only for some critical classes/functions?
I nearly always make my functions exception safe. It just seems like a good idea to me. If you have a good wrapper class to make destructors clean-up automagically it's brain-dead simple, and then I can throw C++ exceptions when they make sense. For example, I have a crappy macro to invoke BOOL & HANDLE Win32 functions that raises my own 'win32_exception' type if the functions fail, which gets the actual error message and all that other fun stuff. Throwing exceptions is cheap cheap cheap.