diff options
-rw-r--r-- | dbaccess/source/core/api/CRowSetDataColumn.cxx | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/dbaccess/source/core/api/CRowSetDataColumn.cxx b/dbaccess/source/core/api/CRowSetDataColumn.cxx index 50ff4adcad2b..e367828e100f 100644 --- a/dbaccess/source/core/api/CRowSetDataColumn.cxx +++ b/dbaccess/source/core/api/CRowSetDataColumn.cxx @@ -25,6 +25,7 @@ #include <cppuhelper/exc_hlp.hxx> #include <cppuhelper/typeprovider.hxx> #include <com/sun/star/beans/PropertyAttribute.hpp> +#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> #include <tools/debug.hxx> using namespace dbaccess; @@ -110,12 +111,18 @@ void SAL_CALL ORowSetDataColumn::getFastPropertyValue( Any& rValue, sal_Int32 nH { rValue = m_pGetValue(m_nPos).makeAny(); } - catch (css::sdbc::SQLException & e) + catch(const SQLException &e) { - css::uno::Any a(cppu::getCaughtException()); - throw css::lang::WrappedTargetException( - "wrapped css::sdbc::SQLException: " + e.Message, - css::uno::Reference<css::uno::XInterface>(), a); + // TODO: doing nothing matches the previous behaviour, + // (and keeps dbaccess unoapi test working...) + // but should be investigated... If the value could not be + // fetched, that's a different result than "value is null", + // which corresponds to an empty Any. + //throw WrappedTargetRuntimeException("Could not retrieve column value", *const_cast<ORowSetDataColumn*>(this), Any(e)); + // css::uno::Any a(cppu::getCaughtException()); + // throw css::lang::WrappedTargetException( + // "wrapped css::sdbc::SQLException: " + e.Message, + // css::uno::Reference<css::uno::XInterface>(), a); } } else if ( PROPERTY_ID_LABEL == nHandle && !m_sLabel.isEmpty() ) |