Overview | Namespace | Class | Index | Help |
virtual | abstract | const | volatile | template | static | inline | C-linkage |
NO | NO | NO | NO | NO | NO | NO | NO |
Use this function to get the dynamic type of a caught C++-UNO exception; completes the above function throwing exceptions generically.
try { ... } catch (::com::sun::star::uno::RuntimeException &) { // you ought not handle RuntimeExceptions: throw; } catch (::com::sun::star::uno::Exception &) { ::com::sun::star::uno::Any caught( ::cppu::getCaughtException() ); ... } Restrictions: - use only for caught C++-UNO exceptions (UNOIDL defined) - only as first statement in a catch block! - don't do a C++ rethrow (throw;) after you have called this function - call getCaughtException() just once in your catch block! (function internally uses a C++ rethrow)
caught UNO exception
Caution! This function is limited to the same C++ compiler runtime library. E.g. for MSVC, this means that the catch handler code (the one that calls getCaughtException()) needs to use the very same C++ runtime library, e.g. msvcrt.dll as cppuhelper, e.g. cppuhelper3MSC.dll and the bridge library, e.g. msci_uno.dll. This is the case if all of them are compiled with the same compiler version. Background: The msci_uno.dll gets a rethrown exception out of the internal msvcrt.dll thread local storage (tls). Thus you _must_ not use this function if your code needs to run in newer UDK versions without being recompiled, because those newer UDK (-> OOo versions) potentially use newer C++ runtime libraries which most often become incompatible! But this function ought to be usable for most OOo internal C++-UNO development, because the whole OOo code base is compiled using the same C++ compiler (and linking against one runtime library).
const ::com::sun::star::uno::Any & | rExc ) |
throw( ::com::sun::star::uno::Exception ); |
virtual | abstract | const | volatile | template | static | inline | C-linkage |
NO | NO | NO | NO | NO | NO | NO | NO |
This function throws the exception given by rExc. The given value has to be of typeclass EXCEPTION and must be dervived from or of type com.sun.star.uno.Exception.
rExc | exception to be thrown. |
Copyright © 2000, 2017 LibreOffice contributors and/or their affiliates. All rights reserved.
LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.
The Document Foundation acknowledges all community members, please find more info at our website.
Privacy Policy | Impressum (Legal Info) | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (LGPLv3). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.