This flag causes warnings like the following in VS:
C:\Development\MS_Visual_Studio_.NET\Vc7\include\istream(990) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc

Since unwind won't happen in cases like this, will the call just "fall-thru", as if nothing happened? That probably can cause crashes, can't it?

I tried reading on /EHs et al., but i don't quite follow the description:
  • Use /EHs to specify the synchronous exception handling model (C++ exception handling without structured exception handling exceptions). If you use /EHs, do not rely on the compiler to catch asynchronous exceptions.
Will /EHsc make those try-catches safe (will they be behaving similar to being unwound)?

Btw., i didn't get any such warnings on Linux, so i assume istream, ostream (and Windows also involves xstring, and xlocnum in those i guess) don't use try-catch on Linux (unless the compiler ignores that). And of course, i'll consider using something other than cout/cerr for logging, once the dust settles. :)

P.S. Thanks for all the feedback so far, here's the fruit of my efforts (with y'all's help):
https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&category=Image%20Browsing&numpg=10&id=790

Thanks all!

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to