The exception types list contains one or more type names, separated by commas. Handlers that are organized within try blocks catch the exceptions. The difference between the Microsoft extensions and the ISO standard is the way these mechanisms handle the exception.
Solution
Use the switch for asynchronous exception handling. Microsoft can customize their exception handling to a specific compiler and operating system, so the way it is handled can be implemented at the operating system (OS) level. This makes their method more efficient and eliminates the need to duplicate the exception raising and handling software in each individual piece of code. Rather, the C/C++ runtime can handle it. The ISO C++ exception-handling standard, on the other hand, is compiler- and OS-agnostic. Therefore, it needs to compile and link in extra code into each binary that provides software exception handling.
Although the Intel C++ compiler provides the functionality of both the SEH and ISO exception-handling model, you must make sure that the compiler switch for asynchronous exception handling is on. Otherwise, the following code (for example) compiles without warnings on the Intel Compiler using the Microsoft Exception model:
If you do not use the asynchronous exception switch for the compiler, it will not catch the exception in the except statement and will be left as an exception for the runtime to handle, causing the program to exit. However, if you were to implement the code as follows, using the ISO exception model, it will add extra code within your program to handle the exception (bypassing the runtime).
Source
"Software Exception Handling," by Rich Winterton.
© 2005 Intel Corp.
Get a pdf version of this article: click download, below.
![]()
![]() | Integrating Java and Microsoft .NET by Jon Jagger, Content Master Ltd. Intel Corp. The right techniques... |
![]() | Multithreaded technology and multi-core processors by Craig Szydlowski, Infrastructure Processor Division, Intel Corp. ... |
If you're interested in this topic, these articles may be helpful:
![]() | Intel® Threading Building Blocks (TBB) Intel® Threading Building Blocks (TBB) offers a rich and complete ... |
![]() | Managing exceptions in Web services environments from AmberPoint Inc. Web services present us with a standards-base... |
![]() | Intel® TBB for Open Source Threading Building Blocks (TBB) is an award-winning C++ runtime librar... |
![]() | Practical C++ Programming, 2nd Edition by Steve Oualline, O'Reilly Media Inc. C++ is a powerful, highly fl... |
![]() | DevPartner for Visual C++ BoundsChecker Suite DevPartner for Visual C++ BoundsChecker Suite is a powerful set of sof... |
![]()
Related Jobs:


