diff options
Diffstat (limited to 'dbaccess')
-rw-r--r-- | dbaccess/source/core/api/CRowSetDataColumn.cxx | 3 | ||||
-rw-r--r-- | dbaccess/source/core/dataaccess/databasedocument.cxx | 21 | ||||
-rw-r--r-- | dbaccess/source/core/dataaccess/definitioncontainer.cxx | 8 | ||||
-rw-r--r-- | dbaccess/source/filter/xml/xmlfilter.cxx | 6 | ||||
-rw-r--r-- | dbaccess/source/ui/control/tabletree.cxx | 5 | ||||
-rw-r--r-- | dbaccess/source/ui/dlg/DbAdminImpl.cxx | 6 |
6 files changed, 28 insertions, 21 deletions
diff --git a/dbaccess/source/core/api/CRowSetDataColumn.cxx b/dbaccess/source/core/api/CRowSetDataColumn.cxx index 14970364a798..c11fe639bf25 100644 --- a/dbaccess/source/core/api/CRowSetDataColumn.cxx +++ b/dbaccess/source/core/api/CRowSetDataColumn.cxx @@ -113,9 +113,10 @@ void SAL_CALL ORowSetDataColumn::getFastPropertyValue( Any& rValue, sal_Int32 nH } catch(const SQLException &e) { + css::uno::Any anyEx = cppu::getCaughtException(); throw WrappedTargetRuntimeException("Could not retrieve column value: " + e.Message, *const_cast<ORowSetDataColumn*>(this), - Any(e)); + anyEx); } } else if ( PROPERTY_ID_LABEL == nHandle && !m_sLabel.isEmpty() ) diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx index eee5e8465031..e147cf0281de 100644 --- a/dbaccess/source/core/dataaccess/databasedocument.cxx +++ b/dbaccess/source/core/dataaccess/databasedocument.cxx @@ -646,18 +646,21 @@ void SAL_CALL ODatabaseDocument::storeToRecoveryFile( const OUString& i_TargetLo // commit the root storage tools::stor::commitStorageIfWriteable( xTargetStorage ); } + catch( const IOException& ) + { + throw; + } + catch( const RuntimeException& ) + { + throw; + } + catch( const WrappedTargetException& ) + { + throw; + } catch( const Exception& ) { Any aError = ::cppu::getCaughtException(); - if ( aError.isExtractableTo( ::cppu::UnoType< IOException >::get() ) - || aError.isExtractableTo( ::cppu::UnoType< RuntimeException >::get() ) - || aError.isExtractableTo( ::cppu::UnoType< WrappedTargetException >::get() ) - ) - { - // allowed to leave - throw; - } - throw WrappedTargetException( OUString(), *this, aError ); } } diff --git a/dbaccess/source/core/dataaccess/definitioncontainer.cxx b/dbaccess/source/core/dataaccess/definitioncontainer.cxx index 95b4676006ba..ae52ecc5e67b 100644 --- a/dbaccess/source/core/dataaccess/definitioncontainer.cxx +++ b/dbaccess/source/core/dataaccess/definitioncontainer.cxx @@ -30,6 +30,7 @@ #include <comphelper/enumhelper.hxx> #include <cppuhelper/exc_hlp.hxx> #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> +#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/ucb/CommandInfo.hpp> #include <com/sun/star/beans/XPropertySet.hpp> @@ -619,10 +620,11 @@ void SAL_CALL ODefinitionContainer::propertyChange( const PropertyChangeEvent& e implRemove( sOldName ); implAppend( sNewName, xContent ); } - catch(const Exception&) + catch(const Exception& ex) { - DBG_UNHANDLED_EXCEPTION("dbaccess"); - throw RuntimeException(); + css::uno::Any anyEx = cppu::getCaughtException(); + throw css::lang::WrappedTargetRuntimeException( ex.Message, + nullptr, anyEx ); } m_bInPropertyChange = false; } diff --git a/dbaccess/source/filter/xml/xmlfilter.cxx b/dbaccess/source/filter/xml/xmlfilter.cxx index 906a2bd69272..11b424901bc2 100644 --- a/dbaccess/source/filter/xml/xmlfilter.cxx +++ b/dbaccess/source/filter/xml/xmlfilter.cxx @@ -324,11 +324,13 @@ bool ODBFilter::implImport( const Sequence< PropertyValue >& rDescriptor ) if (!sStreamRelPath.isEmpty()) xStorage = xStorage->openStorageElement(sStreamRelPath, embed::ElementModes::READ); } + catch (const RuntimeException&) + { + throw; + } catch (const Exception&) { Any aError = ::cppu::getCaughtException(); - if (aError.isExtractableTo(::cppu::UnoType<RuntimeException>::get())) - throw; throw lang::WrappedTargetRuntimeException(OUString(), *this, aError); } } diff --git a/dbaccess/source/ui/control/tabletree.cxx b/dbaccess/source/ui/control/tabletree.cxx index 31428879bf09..a285b7f9675a 100644 --- a/dbaccess/source/ui/control/tabletree.cxx +++ b/dbaccess/source/ui/control/tabletree.cxx @@ -167,10 +167,9 @@ void OTableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConn } catch(Exception&) { + css::uno::Any anyEx = cppu::getCaughtException(); // a non-SQLException exception occurred ... simply throw an SQLException - SQLException aInfo; - aInfo.Message = sCurrentActionError; - throw aInfo; + throw SQLException(sCurrentActionError, nullptr, "", 0, anyEx); } UpdateTableList( _rxConnection, sTables, sViews ); diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.cxx b/dbaccess/source/ui/dlg/DbAdminImpl.cxx index 49cdf5756619..0cce73ebbba6 100644 --- a/dbaccess/source/ui/dlg/DbAdminImpl.cxx +++ b/dbaccess/source/ui/dlg/DbAdminImpl.cxx @@ -388,11 +388,11 @@ Reference< XDriver > ODbDataSourceAdministrationHelper::getDriver(const OUString { xDriverManager.set( ConnectionPool::create( getORB() ) ); } - catch (const Exception& e) + catch (const Exception&) { + css::uno::Any anyEx = cppu::getCaughtException(); // wrap the exception into an SQLException - SQLException aSQLWrapper(e.Message, getORB(), "S1000", 0, Any()); - throw SQLException(sCurrentActionError, getORB(), "S1000", 0, makeAny(aSQLWrapper)); + throw SQLException(sCurrentActionError, getORB(), "S1000", 0, anyEx); } Reference< XDriver > xDriver = xDriverManager->getDriverByURL(_sURL); |