[Libreoffice-commits] core.git: 28 commits - chart2/source connectivity/source desktop/source extensions/source filter/source offapi/com reportdesign/source sax/source sc/source svx/source sw/inc sw/source vcl/headless vcl/unx

Caolán McNamara caolanm at redhat.com
Sat Oct 25 08:57:39 PDT 2014


 chart2/source/view/axes/VCartesianCoordinateSystem.cxx |    2 
 chart2/source/view/axes/VPolarCoordinateSystem.cxx     |    2 
 connectivity/source/drivers/jdbc/Array.cxx             |   10 -
 connectivity/source/drivers/jdbc/Blob.cxx              |    6 -
 connectivity/source/drivers/jdbc/CallableStatement.cxx |    6 -
 connectivity/source/drivers/jdbc/Clob.cxx              |    6 -
 connectivity/source/drivers/jdbc/DatabaseMetaData.cxx  |   70 ++++++-------
 connectivity/source/drivers/jdbc/InputStream.cxx       |   10 -
 connectivity/source/drivers/jdbc/JBigDecimal.cxx       |    4 
 connectivity/source/drivers/jdbc/JConnection.cxx       |   18 +--
 connectivity/source/drivers/jdbc/JStatement.cxx        |   32 ++----
 connectivity/source/drivers/jdbc/Object.cxx            |   87 ++++++++++-------
 connectivity/source/drivers/jdbc/PreparedStatement.cxx |   42 ++++----
 connectivity/source/drivers/jdbc/Reader.cxx            |   12 +-
 connectivity/source/drivers/jdbc/ResultSet.cxx         |   74 +++++++-------
 connectivity/source/drivers/jdbc/ResultSetMetaData.cxx |   12 +-
 connectivity/source/drivers/jdbc/SQLException.cxx      |    2 
 connectivity/source/drivers/jdbc/Throwable.cxx         |    2 
 connectivity/source/drivers/jdbc/tools.cxx             |    4 
 connectivity/source/inc/java/lang/Object.hxx           |   30 +++--
 connectivity/source/inc/java/sql/DatabaseMetaData.hxx  |    4 
 connectivity/source/parse/sqlnode.cxx                  |    7 -
 desktop/source/deployment/manager/dp_manager.cxx       |    1 
 desktop/source/deployment/manager/dp_manager.h         |    1 
 extensions/source/plugin/unx/npwrap.cxx                |    6 -
 filter/source/graphicfilter/ipcx/ipcx.cxx              |    2 
 offapi/com/sun/star/deployment/XPackageManager.idl     |    1 
 reportdesign/source/core/sdr/PropertyForward.cxx       |    2 
 sax/source/tools/converter.cxx                         |    1 
 sax/source/tools/fastserializer.cxx                    |   12 +-
 sax/source/tools/fastserializer.hxx                    |    2 
 sax/source/tools/fshelper.cxx                          |    1 
 sc/source/filter/starcalc/scflt.cxx                    |   19 ++-
 svx/source/unodraw/shapeimpl.hxx                       |    6 -
 svx/source/unodraw/unoshap4.cxx                        |    6 -
 sw/inc/unoframe.hxx                                    |    2 
 sw/source/core/unocore/unoframe.cxx                    |    2 
 sw/source/filter/ww8/ww8toolbar.cxx                    |   37 +++++--
 sw/source/filter/ww8/ww8toolbar.hxx                    |    4 
 sw/source/ui/chrdlg/chardlg.cxx                        |    7 -
 vcl/headless/svpinst.cxx                               |    4 
 vcl/unx/generic/app/saldata.cxx                        |    4 
 vcl/unx/generic/app/saldisp.cxx                        |    4 
 43 files changed, 304 insertions(+), 262 deletions(-)

New commits:
commit 392dc0bad20a8088a5c3e3746645ef3951fa859f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:35:09 2014 +0100

    coverity#735342 silence Unchecked return value from library
    
    Change-Id: I95f0d81a741fc684468c720390b43dc9d7b585f9

diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 4744251..8efbcda 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -91,12 +91,12 @@ SvpSalInstance::SvpSalInstance( SalYieldMutex *pMutex ) :
         if ((flags = fcntl (m_pTimeoutFDS[0], F_GETFL)) != -1)
         {
             flags |= O_NONBLOCK;
-            fcntl (m_pTimeoutFDS[0], F_SETFL, flags);
+            (void)fcntl(m_pTimeoutFDS[0], F_SETFL, flags);
         }
         if ((flags = fcntl (m_pTimeoutFDS[1], F_GETFL)) != -1)
         {
             flags |= O_NONBLOCK;
-            fcntl (m_pTimeoutFDS[1], F_SETFL, flags);
+            (void)fcntl(m_pTimeoutFDS[1], F_SETFL, flags);
         }
     }
     m_aEventGuard = osl_createMutex();
commit 33492060dd97d625ff7bf5660218306363d118d0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:34:21 2014 +0100

    coverity#735348 silence Unchecked return value from library
    
    Change-Id: I834dabc524ac2e1af6a77da8f66edfc349e6556d

diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx
index bcb04d0..04360e2 100644
--- a/vcl/unx/generic/app/saldata.cxx
+++ b/vcl/unx/generic/app/saldata.cxx
@@ -367,12 +367,12 @@ SalXLib::SalXLib()
         if ((flags = fcntl (m_pTimeoutFDS[0], F_GETFL)) != -1)
         {
             flags |= O_NONBLOCK;
-            fcntl (m_pTimeoutFDS[0], F_SETFL, flags);
+            (void)fcntl(m_pTimeoutFDS[0], F_SETFL, flags);
         }
         if ((flags = fcntl (m_pTimeoutFDS[1], F_GETFL)) != -1)
         {
             flags |= O_NONBLOCK;
-            fcntl (m_pTimeoutFDS[1], F_SETFL, flags);
+            (void)fcntl(m_pTimeoutFDS[1], F_SETFL, flags);
         }
 
         // insert [0] into read descriptor set.
commit 859656f40d005bd264af40256efe27ebbd3acfb8
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:33:39 2014 +0100

    coverity#735349 silence Unchecked return value from library
    
    Change-Id: Ie87d7600b69da0a567fafc7a949f97a6d4fe03e8

diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
index 85d3997..88be463 100644
--- a/vcl/unx/generic/app/saldisp.cxx
+++ b/vcl/unx/generic/app/saldisp.cxx
@@ -2331,10 +2331,10 @@ bool SalDisplay::XIfEventWithTimeout( XEvent* o_pEvent, XPointer i_pPredicateDat
         aFD.fd = ConnectionNumber(GetDisplay());
         aFD.events = POLLIN;
         aFD.revents = 0;
-        poll( &aFD, 1, i_nTimeout );
+        (void)poll(&aFD, 1, i_nTimeout);
         if( ! XCheckIfEvent( GetDisplay(), o_pEvent, i_pPredicate, i_pPredicateData ) )
         {
-            poll( &aFD, 1, i_nTimeout ); // try once more for a packet of events from the Xserver
+            (void)poll(&aFD, 1, i_nTimeout); // try once more for a packet of events from the Xserver
             if( ! XCheckIfEvent( GetDisplay(), o_pEvent, i_pPredicate, i_pPredicateData ) )
             {
                 bRet = false;
commit 2f4546487adca8ee14494048e693ab0114dfa4fa
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:32:43 2014 +0100

    coverity#982164 silence Unchecked return value from library
    
    Change-Id: Ibec38a7e7846c463601b0a876778f53003cf0441

diff --git a/extensions/source/plugin/unx/npwrap.cxx b/extensions/source/plugin/unx/npwrap.cxx
index b4af3b3..5e0c1a9 100644
--- a/extensions/source/plugin/unx/npwrap.cxx
+++ b/extensions/source/plugin/unx/npwrap.cxx
@@ -377,12 +377,12 @@ int main( int argc, char **argv)
     if ((flags = fcntl (wakeup_fd[0], F_GETFL)) != -1)
     {
         flags |= O_NONBLOCK;
-        fcntl (wakeup_fd[0], F_SETFL, flags);
+        (void)fcntl(wakeup_fd[0], F_SETFL, flags);
     }
     if ((flags = fcntl (wakeup_fd[1], F_GETFL)) != -1)
     {
         flags |= O_NONBLOCK;
-        fcntl (wakeup_fd[1], F_SETFL, flags);
+        (void)fcntl(wakeup_fd[1], F_SETFL, flags);
     }
 
     pPluginLib = LoadModule( argv[2] );
commit 28dbb39389564c5ba421de3ca3d6ab07fc596ab4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:32:01 2014 +0100

    coverity#982163 silence Unchecked return value from library
    
    Change-Id: I6b9a3c6ce75472da551706b1c1555eff4ba1abc8

diff --git a/extensions/source/plugin/unx/npwrap.cxx b/extensions/source/plugin/unx/npwrap.cxx
index 7c7fe66..b4af3b3 100644
--- a/extensions/source/plugin/unx/npwrap.cxx
+++ b/extensions/source/plugin/unx/npwrap.cxx
@@ -280,7 +280,7 @@ static gboolean pollXtTimerCallback(gpointer)
 static gboolean prepareWakeupEvent( GSource*, gint* )
 {
     struct pollfd aPoll = { wakeup_fd[0], POLLIN, 0 };
-    poll( &aPoll, 1, 0 );
+    (void)poll(&aPoll, 1, 0);
     return (aPoll.revents & POLLIN ) != 0;
 }
 
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index e3a7abe..c22a42b 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -123,7 +123,6 @@ interface XPackageManager
                          [in] com::sun::star::task::XAbortChannel xAbortChannel,
                          [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
         raises (DeploymentException,
-                com::sun::star::ucb::ContentCreationException,
                 com::sun::star::ucb::CommandFailedException,
                 com::sun::star::ucb::CommandAbortedException,
                 com::sun::star::lang::IllegalArgumentException);
@@ -267,6 +266,7 @@ interface XPackageManager
     boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel,
                      [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
         raises (DeploymentException,
+                com::sun::star::ucb::ContentCreationException,
                 com::sun::star::ucb::CommandFailedException,
                 com::sun::star::ucb::CommandAbortedException);
 
commit 25e0764965e1abc2495213aea56140aec86fdd48
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:21:56 2014 +0100

    coverity#1242839 Untrusted loop bound
    
    Change-Id: Ib0e96d20f18edfab53373f153bd128f725fe335a

diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index 002a0bb..e33a8c5 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -1165,6 +1165,10 @@ bool MacroNames::Read( SvStream &rS)
     rS.ReadUInt16( iMac );
     if ( iMac )
     {
+        //even an empty MacroName will take 2 bytes
+        size_t nMaxAvailableRecords = rS.remainingSize()/sizeof(sal_uInt16);
+        if (iMac > nMaxAvailableRecords)
+            return false;
         rgNames = new MacroName[ iMac ];
         for ( sal_Int32 index = 0; index < iMac; ++index )
         {
commit aee93381135a656707d68a58bea569b62ce66c9d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:19:11 2014 +0100

    coverity#1242886 Untrusted loop bound
    
    Change-Id: I3eb9deac3850e895d0b78a0af73079f378dfbb99

diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index 45b24ec..002a0bb 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -244,11 +244,12 @@ bool SwCTBWrapper::ImportCustomToolBar( SfxObjectShell& rDocSh )
     return false;
 }
 
-Customization::Customization( SwCTBWrapper* wrapper ) : tbidForTBD( 0 )
-,reserved1( 0 )
-, ctbds( 0 )
-, pWrapper( wrapper )
-, bIsDroppedMenuTB( false )
+Customization::Customization( SwCTBWrapper* wrapper )
+    : tbidForTBD( 0 )
+    , reserved1( 0 )
+    , ctbds( 0 )
+    , pWrapper( wrapper )
+    , bIsDroppedMenuTB( false )
 {
 }
 
@@ -260,10 +261,14 @@ bool Customization::Read( SvStream &rS)
 {
     SAL_INFO("sw.ww8","Custimization::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
-    rS.ReadInt32( tbidForTBD ).ReadUInt16( reserved1 ).ReadInt16( ctbds );
+    rS.ReadInt32( tbidForTBD ).ReadUInt16( reserved1 ).ReadUInt16( ctbds );
     if ( tbidForTBD )
     {
-        for ( sal_Int32 index = 0; index < ctbds; ++index )
+        //each TBDelta is at least 18 bytes in size
+        size_t nMaxAvailableRecords = rS.remainingSize() / 18;
+        if (ctbds > nMaxAvailableRecords)
+            return false;
+        for (sal_uInt16 index = 0; index < ctbds; ++index)
         {
             TBDelta aTBDelta;
             if (!aTBDelta.Read( rS ) )
@@ -311,7 +316,7 @@ void Customization::Print( FILE* fp )
 
         indent_printf( fp,"  TBDelta(s) are associated with %s toolbar.\n", pToolBar);
         std::vector< TBDelta >::iterator it = customizationDataTBDelta.begin();
-        for ( sal_Int32 index = 0; index < ctbds; ++it,++index )
+        for (sal_uInt16 index = 0; index < ctbds; ++it, ++index)
             it->Print( fp );
     }
 }
diff --git a/sw/source/filter/ww8/ww8toolbar.hxx b/sw/source/filter/ww8/ww8toolbar.hxx
index aa2c2dc..82e1ab2 100644
--- a/sw/source/filter/ww8/ww8toolbar.hxx
+++ b/sw/source/filter/ww8/ww8toolbar.hxx
@@ -124,7 +124,7 @@ class Customization : public TBBase
 
     sal_Int32 tbidForTBD;
     sal_uInt16 reserved1;
-    sal_Int16 ctbds;
+    sal_uInt16 ctbds;
     SwCTBWrapper* pWrapper;
     boost::shared_ptr< SwCTB > customizationDataCTB;
     std::vector< TBDelta > customizationDataTBDelta;
commit 6333a7c8b0f72dba1138df09b51bc01e1d0fb596
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:13:02 2014 +0100

    coverity#1242959 Untrusted value as argument
    
    Change-Id: If6132ff4fb9293282b4ed5690f940985cf198b8d

diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index 8ef92b5..45b24ec 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -114,7 +114,7 @@ bool SwCTBWrapper::Read( SvStream& rS )
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS.ReadUInt16( reserved2 ).ReadUChar( reserved3 ).ReadUInt16( reserved4 ).ReadUInt16( reserved5 );
-    rS.ReadInt16( cbTBD ).ReadInt16( cCust ).ReadInt32( cbDTBC );
+    rS.ReadInt16( cbTBD ).ReadUInt16( cCust ).ReadInt32( cbDTBC );
     long nExpectedPos =  rS.Tell() + cbDTBC;
     if ( cbDTBC )
     {
@@ -146,9 +146,15 @@ bool SwCTBWrapper::Read( SvStream& rS )
         // seek to correct position after rtbdc
         rS.Seek( nExpectedPos );
     }
-    if ( cCust )
+    if (cCust)
     {
-        for ( sal_Int32 index = 0; index < cCust; ++index )
+        //Each customization takes a min of 8 bytes
+        size_t nMaxPossibleRecords = rS.remainingSize() / 8;
+        if (cCust > nMaxPossibleRecords)
+        {
+            return false;
+        }
+        for (sal_uInt16 index = 0; index < cCust; ++index)
         {
             Customization aCust( this );
             if ( !aCust.Read( rS ) )
diff --git a/sw/source/filter/ww8/ww8toolbar.hxx b/sw/source/filter/ww8/ww8toolbar.hxx
index 718041c..aa2c2dc 100644
--- a/sw/source/filter/ww8/ww8toolbar.hxx
+++ b/sw/source/filter/ww8/ww8toolbar.hxx
@@ -155,7 +155,7 @@ class SwCTBWrapper : public Tcg255SubStruct
     sal_uInt16 reserved5;
 
     sal_Int16 cbTBD;
-    sal_Int16 cCust;
+    sal_uInt16 cCust;
 
     sal_Int32 cbDTBC;
 
commit 2de86740476fa81425f84734402e1d4114bb8791
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:09:04 2014 +0100

    coverity#1242746 turn this around to help out coverity
    
    Change-Id: I06cc94395e6421b7e01811b3d5f17c2677650a83

diff --git a/filter/source/graphicfilter/ipcx/ipcx.cxx b/filter/source/graphicfilter/ipcx/ipcx.cxx
index af82bd3..09604932 100644
--- a/filter/source/graphicfilter/ipcx/ipcx.cxx
+++ b/filter/source/graphicfilter/ipcx/ipcx.cxx
@@ -218,7 +218,7 @@ void PCXReader::ImplReadBody(BitmapWriteAccess * pAcc)
     sal_uInt8   nDat = 0, nCol = 0;
 
     //sanity check there is enough data before trying allocation
-    if (nPlanes > m_rPCX.remainingSize() / nBytesPerPlaneLin)
+    if (nBytesPerPlaneLin > m_rPCX.remainingSize() / nPlanes)
     {
         nStatus = false;
         return;
commit eb5f54a9d7f6156e6378a487df8f952e0b587de5
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 16:01:03 2014 +0100

    coverity#983652 Uncaught exception
    
    Change-Id: Ib818955314689a3193e2026fae19161a79aa8e5b

diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx
index ee8f84b..1529fb4 100644
--- a/desktop/source/deployment/manager/dp_manager.cxx
+++ b/desktop/source/deployment/manager/dp_manager.cxx
@@ -1428,6 +1428,7 @@ sal_Bool PackageManagerImpl::synchronize(
     Reference<task::XAbortChannel> const & xAbortChannel,
     Reference<css::ucb::XCommandEnvironment> const & xCmdEnv)
     throw (css::deployment::DeploymentException,
+           css::ucb::ContentCreationException,
            css::ucb::CommandFailedException,
            css::ucb::CommandAbortedException,
            css::uno::RuntimeException, std::exception)
diff --git a/desktop/source/deployment/manager/dp_manager.h b/desktop/source/deployment/manager/dp_manager.h
index f342eda..168225d 100644
--- a/desktop/source/deployment/manager/dp_manager.h
+++ b/desktop/source/deployment/manager/dp_manager.h
@@ -241,6 +241,7 @@ public:
         css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel,
         css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv )
         throw (css::deployment::DeploymentException,
+               css::ucb::ContentCreationException,
                css::ucb::CommandFailedException,
                css::ucb::CommandAbortedException,
                css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index b19d16f..e3a7abe 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -123,6 +123,7 @@ interface XPackageManager
                          [in] com::sun::star::task::XAbortChannel xAbortChannel,
                          [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
         raises (DeploymentException,
+                com::sun::star::ucb::ContentCreationException,
                 com::sun::star::ucb::CommandFailedException,
                 com::sun::star::ucb::CommandAbortedException,
                 com::sun::star::lang::IllegalArgumentException);
commit 92f83d8a59f01712a217a06dc1131ae8ee4c240f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 15:52:46 2014 +0100

    coverity#706329 Uncaught exception
    
    Change-Id: Ia056948df45ade616dd4c434a4c9d319d48d97f2

diff --git a/connectivity/source/drivers/jdbc/Object.cxx b/connectivity/source/drivers/jdbc/Object.cxx
index 80faf9e..24058cf 100644
--- a/connectivity/source/drivers/jdbc/Object.cxx
+++ b/connectivity/source/drivers/jdbc/Object.cxx
@@ -301,7 +301,7 @@ sal_Int32 java_lang_Object::callIntMethod_ThrowRuntime(const char* _pMethodName,
     obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"()I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID ) );
-    isExceptionOccurred(t.pEnv,true);
+    ThrowRuntimeException(t.pEnv, NULL);
     return (sal_Int32)out;
 }
 
@@ -323,7 +323,7 @@ sal_Int32 java_lang_Object::callIntMethodWithIntArg_ThrowRuntime( const char* _p
     obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
-    isExceptionOccurred(t.pEnv,true);
+    ThrowRuntimeException(t.pEnv, NULL);
     return (sal_Int32)out;
 }
 
@@ -346,7 +346,7 @@ void java_lang_Object::callVoidMethod_ThrowRuntime( const char* _pMethodName, jm
 
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID );
-    isExceptionOccurred(t.pEnv, true);
+    ThrowRuntimeException(t.pEnv, NULL);
 }
 
 void java_lang_Object::callVoidMethodWithIntArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const
@@ -368,7 +368,7 @@ void java_lang_Object::callVoidMethodWithIntArg_ThrowRuntime( const char* _pMeth
 
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID,_nArgument );
-    isExceptionOccurred(t.pEnv, true);
+    ThrowRuntimeException(t.pEnv, NULL);
 }
 
 void java_lang_Object::callVoidMethodWithBoolArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const
@@ -388,7 +388,7 @@ void java_lang_Object::callVoidMethodWithBoolArg_ThrowRuntime( const char* _pMet
     obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"(Z)V", _inout_MethodID);
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID,int(_nArgument) );
-    isExceptionOccurred(t.pEnv,true);
+    ThrowRuntimeException(t.pEnv, NULL);
 }
 
 OUString java_lang_Object::callStringMethod( const char* _pMethodName, jmethodID& _inout_MethodID ) const
diff --git a/connectivity/source/drivers/jdbc/Reader.cxx b/connectivity/source/drivers/jdbc/Reader.cxx
index 46e3e1f..a7cd369 100644
--- a/connectivity/source/drivers/jdbc/Reader.cxx
+++ b/connectivity/source/drivers/jdbc/Reader.cxx
@@ -90,10 +90,10 @@ sal_Int32 SAL_CALL java_io_Reader::readBytes( ::com::sun::star::uno::Sequence< s
         static const char * cMethodName = "read";
         // Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwRuntime(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallIntMethod( object, mID, pCharArray, 0, nBytesToRead );
         if ( !out )
-            ThrowSQLException(t.pEnv,*this);
+            ThrowRuntimeException(t.pEnv,*this);
         if(out > 0)
         {
             jboolean p = sal_False;
commit 654d845320556216f188988fe70df7f0f27d499a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 15:52:22 2014 +0100

    coverity#706328 Uncaught exception
    
    Change-Id: I9182ad75a5b49d5aa9d58cecc690b06220f13272

diff --git a/connectivity/source/drivers/jdbc/Reader.cxx b/connectivity/source/drivers/jdbc/Reader.cxx
index 323c34e..46e3e1f 100644
--- a/connectivity/source/drivers/jdbc/Reader.cxx
+++ b/connectivity/source/drivers/jdbc/Reader.cxx
@@ -65,9 +65,9 @@ sal_Int32 SAL_CALL java_io_Reader::available(  ) throw(::com::sun::star::io::Not
         static const char * cMethodName = "available";
         // Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwRuntime(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallBooleanMethod( object, mID);
-        ThrowSQLException(t.pEnv,*this);
+        ThrowRuntimeException(t.pEnv,*this);
     } //t.pEnv
     return out;
 }
commit 6c8b24bf3cec9dd0cefb0b83b7fee5e1281a1232
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 15:51:34 2014 +0100

    coverity#706322 Uncaught exception
    
    Change-Id: I4ebfee76cb17562a47d4c2e868539fc70ead530e

diff --git a/connectivity/source/drivers/jdbc/InputStream.cxx b/connectivity/source/drivers/jdbc/InputStream.cxx
index 91dec5c..b9e0d14 100644
--- a/connectivity/source/drivers/jdbc/InputStream.cxx
+++ b/connectivity/source/drivers/jdbc/InputStream.cxx
@@ -91,10 +91,10 @@ sal_Int32 SAL_CALL java_io_InputStream::readBytes( ::com::sun::star::uno::Sequen
         static const char * cMethodName = "read";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwRuntime(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallIntMethod( object, mID, pByteArray, 0, nBytesToRead );
         if ( !out )
-            ThrowSQLException(t.pEnv,*this);
+            ThrowRuntimeException(t.pEnv,*this);
         if(out > 0)
         {
             jboolean p = sal_False;
diff --git a/connectivity/source/drivers/jdbc/Object.cxx b/connectivity/source/drivers/jdbc/Object.cxx
index 9401eb6..80faf9e 100644
--- a/connectivity/source/drivers/jdbc/Object.cxx
+++ b/connectivity/source/drivers/jdbc/Object.cxx
@@ -20,6 +20,7 @@
 #include "java/lang/Class.hxx"
 #include <connectivity/CommonTools.hxx>
 #include <com/sun/star/uno/Exception.hpp>
+#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
 #include "java/tools.hxx"
 #include "java/sql/SQLException.hxx"
 #include <osl/mutex.hxx>
@@ -209,7 +210,6 @@ void java_lang_Object::ThrowLoggedSQLException( const ::comphelper::ResourceBase
     }
 }
 
-
 void java_lang_Object::ThrowSQLException( JNIEnv* _pEnvironment, const Reference< XInterface>& _rxContext )
 {
     SQLException aException;
@@ -217,6 +217,15 @@ void java_lang_Object::ThrowSQLException( JNIEnv* _pEnvironment, const Reference
         throw aException;
 }
 
+void java_lang_Object::ThrowRuntimeException( JNIEnv* _pEnvironment, const Reference< XInterface>& _rxContext )
+{
+    SQLException aException;
+    if ( lcl_translateJNIExceptionToUNOException( _pEnvironment, _rxContext, aException ) )
+    {
+        throw WrappedTargetRuntimeException(aException.Message, aException.Context, makeAny(aException));
+    }
+}
+
 void java_lang_Object::obtainMethodId_throwSQL(JNIEnv* _pEnv,const char* _pMethodName, const char* _pSignature,jmethodID& _inout_MethodID) const
 {
     if  ( !_inout_MethodID )
diff --git a/connectivity/source/inc/java/lang/Object.hxx b/connectivity/source/inc/java/lang/Object.hxx
index 1904334..67c362a 100644
--- a/connectivity/source/inc/java/lang/Object.hxx
+++ b/connectivity/source/inc/java/lang/Object.hxx
@@ -105,6 +105,7 @@ namespace connectivity
             JNIEnv* pEnvironment,
             const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext
         );
+        static void ThrowRuntimeException(JNIEnv * pEnv,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> & _rContext);
 
         static ::rtl::Reference< jvmaccess::VirtualMachine > getVM(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext=NULL);
 
commit 9e965e9b15be7674a4b7b787370018fbd60e339e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 15:39:47 2014 +0100

    coverity#706319 Uncaught exception
    
    Change-Id: I7f390151c232d0a96d50b16c0c76aacea569653e

diff --git a/connectivity/source/drivers/jdbc/Array.cxx b/connectivity/source/drivers/jdbc/Array.cxx
index a1b3c3b..6a75a0b 100644
--- a/connectivity/source/drivers/jdbc/Array.cxx
+++ b/connectivity/source/drivers/jdbc/Array.cxx
@@ -49,7 +49,7 @@ OUString SAL_CALL java_sql_Array::getBaseTypeName(  ) throw(::com::sun::star::sd
 sal_Int32 SAL_CALL java_sql_Array::getBaseType(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Throw("getBaseType", mID);
+    return callIntMethod_ThrowSQL("getBaseType", mID);
 }
 
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL java_sql_Array::getArray( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/CallableStatement.cxx b/connectivity/source/drivers/jdbc/CallableStatement.cxx
index 6debd57..d7ee029 100644
--- a/connectivity/source/drivers/jdbc/CallableStatement.cxx
+++ b/connectivity/source/drivers/jdbc/CallableStatement.cxx
@@ -140,7 +140,7 @@ sal_Int32 SAL_CALL java_sql_CallableStatement::getInt( sal_Int32 columnIndex ) t
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getInt",mID,columnIndex);
+    return callIntMethodWithIntArg_ThrowSQL("getInt",mID,columnIndex);
 }
 
 sal_Int64 SAL_CALL java_sql_CallableStatement::getLong( sal_Int32 columnIndex ) throw(css::sdbc::SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
index 979d067..8155e69 100644
--- a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
@@ -241,73 +241,73 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getVersionColumns(
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxBinaryLiteralLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxBinaryLiteralLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxBinaryLiteralLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxRowSize(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxRowSize", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxRowSize", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCatalogNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxCatalogNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxCatalogNameLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCharLiteralLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxCharLiteralLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxCharLiteralLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnNameLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInIndex(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnsInIndex", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnsInIndex", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCursorNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxCursorNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxCursorNameLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxConnections(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxConnections", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxConnections", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInTable(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnsInTable", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnsInTable", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxStatementLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxStatementLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxStatementLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxTableNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxTableNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxTableNameLength", mID);
 }
 
 sal_Int32 java_sql_DatabaseMetaData::impl_getMaxTablesInSelect_throw(  )
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxTablesInSelect", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxTablesInSelect", mID);
 }
 
 Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getExportedKeys(
@@ -563,18 +563,18 @@ OUString java_sql_DatabaseMetaData::impl_callStringMethod( const char* _pMethodN
     return sReturn;
 }
 
-sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_Throw(const char* _pMethodName, jmethodID& _inout_MethodID)
+sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_ThrowSQL(const char* _pMethodName, jmethodID& _inout_MethodID)
 {
     m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_METHOD, _pMethodName );
-    sal_Int32 out( (sal_Int32)callIntMethod_Throw(_pMethodName,_inout_MethodID) );
+    sal_Int32 out( (sal_Int32)callIntMethod_ThrowSQL(_pMethodName,_inout_MethodID) );
     m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_RESULT, _pMethodName, (sal_Int32)out );
     return out;
 }
 
-sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_Nothrow(const char* _pMethodName, jmethodID& _inout_MethodID)
+sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_ThrowRuntime(const char* _pMethodName, jmethodID& _inout_MethodID)
 {
     m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_METHOD, _pMethodName );
-    sal_Int32 out( (sal_Int32)callIntMethod_Nothrow(_pMethodName,_inout_MethodID) );
+    sal_Int32 out( (sal_Int32)callIntMethod_ThrowRuntime(_pMethodName,_inout_MethodID) );
     m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_RESULT, _pMethodName, (sal_Int32)out );
     return out;
 }
@@ -728,7 +728,7 @@ bool java_sql_DatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw(  )
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxIndexLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxIndexLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxIndexLength", mID);
 }
 
 sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsNonNullableColumns(  ) throw(SQLException, RuntimeException, std::exception)
@@ -902,19 +902,19 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTableTypes(  ) th
 sal_Int32 java_sql_DatabaseMetaData::impl_getMaxStatements_throw(  )
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxStatements", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxStatements", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxProcedureNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxProcedureNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxProcedureNameLength", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxSchemaNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxSchemaNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxSchemaNameLength", mID);
 }
 
 sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsTransactions(  ) throw(SQLException, RuntimeException, std::exception)
@@ -1221,19 +1221,19 @@ OUString SAL_CALL java_sql_DatabaseMetaData::getSchemaTerm(  ) throw(SQLExceptio
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDriverMajorVersion(  ) throw(RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Nothrow("getDriverMajorVersion", mID);
+    return impl_callIntMethod_ThrowRuntime("getDriverMajorVersion", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDefaultTransactionIsolation(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getDefaultTransactionIsolation", mID);
+    return impl_callIntMethod_ThrowSQL("getDefaultTransactionIsolation", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDriverMinorVersion(  ) throw(RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Nothrow("getDriverMinorVersion", mID);
+    return impl_callIntMethod_ThrowRuntime("getDriverMinorVersion", mID);
 }
 
 OUString SAL_CALL java_sql_DatabaseMetaData::getSQLKeywords(  ) throw(SQLException, RuntimeException, std::exception)
@@ -1305,25 +1305,25 @@ sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsLimitedOuterJoins(  ) throw
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInGroupBy(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnsInGroupBy", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnsInGroupBy", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInOrderBy(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnsInOrderBy", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnsInOrderBy", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInSelect(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxColumnsInSelect", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxColumnsInSelect", mID);
 }
 
 sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxUserNameLength(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return impl_callIntMethod_Throw("getMaxUserNameLength", mID);
+    return impl_callIntMethod_ThrowSQL("getMaxUserNameLength", mID);
 }
 
 sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsResultSetType( sal_Int32 setType ) throw(SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/InputStream.cxx b/connectivity/source/drivers/jdbc/InputStream.cxx
index f6697d7..91dec5c 100644
--- a/connectivity/source/drivers/jdbc/InputStream.cxx
+++ b/connectivity/source/drivers/jdbc/InputStream.cxx
@@ -62,19 +62,19 @@ sal_Int32 SAL_CALL java_io_InputStream::readSomeBytes( ::com::sun::star::uno::Se
 void SAL_CALL java_io_InputStream::skipBytes( sal_Int32 nBytesToSkip ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callIntMethodWithIntArg_Nothrow("skip",mID,nBytesToSkip);
+    callIntMethodWithIntArg_ThrowRuntime("skip",mID,nBytesToSkip);
 }
 
 sal_Int32 SAL_CALL java_io_InputStream::available(  ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Nothrow("available", mID);
+    return callIntMethod_ThrowRuntime("available", mID);
 }
 
 void SAL_CALL java_io_InputStream::closeInput(  ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Nothrow("close",mID);
+    callVoidMethod_ThrowRuntime("close",mID);
 }
 
 sal_Int32 SAL_CALL java_io_InputStream::readBytes( ::com::sun::star::uno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx b/connectivity/source/drivers/jdbc/JConnection.cxx
index fb3cf80..7baccaa 100644
--- a/connectivity/source/drivers/jdbc/JConnection.cxx
+++ b/connectivity/source/drivers/jdbc/JConnection.cxx
@@ -309,7 +309,7 @@ void java_sql_Connection::disposing()
     if ( object )
     {
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("close", mID);
+        callVoidMethod_ThrowSQL("close", mID);
     }
 }
 
@@ -361,7 +361,7 @@ void SAL_CALL java_sql_Connection::close(  ) throw(SQLException, RuntimeExceptio
 void SAL_CALL java_sql_Connection::commit(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("commit", mID);
+    callVoidMethod_ThrowSQL("commit", mID);
 }
 
 sal_Bool SAL_CALL java_sql_Connection::isClosed(  ) throw(SQLException, RuntimeException, std::exception)
@@ -389,7 +389,7 @@ void SAL_CALL java_sql_Connection::setCatalog( const OUString& catalog ) throw(S
 void SAL_CALL java_sql_Connection::rollback(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("rollback", mID);
+    callVoidMethod_ThrowSQL("rollback", mID);
 }
 
 sal_Bool SAL_CALL java_sql_Connection::getAutoCommit(  ) throw(SQLException, RuntimeException, std::exception)
@@ -401,13 +401,13 @@ sal_Bool SAL_CALL java_sql_Connection::getAutoCommit(  ) throw(SQLException, Run
 void SAL_CALL java_sql_Connection::setReadOnly( sal_Bool readOnly ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethodWithBoolArg_Throw("setReadOnly", mID, readOnly);
+    callVoidMethodWithBoolArg_ThrowSQL("setReadOnly", mID, readOnly);
 }
 
 void SAL_CALL java_sql_Connection::setAutoCommit( sal_Bool autoCommit ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethodWithBoolArg_Throw("setAutoCommit", mID, autoCommit);
+    callVoidMethodWithBoolArg_ThrowSQL("setAutoCommit", mID, autoCommit);
 }
 
 Reference< ::com::sun::star::container::XNameAccess > SAL_CALL java_sql_Connection::getTypeMap(  ) throw(SQLException, RuntimeException, std::exception)
@@ -437,7 +437,7 @@ sal_Int32 SAL_CALL java_sql_Connection::getTransactionIsolation(  ) throw(SQLExc
     checkDisposed(java_sql_Connection_BASE::rBHelper.bDisposed);
 
     static jmethodID mID(NULL);
-    return callIntMethod_Throw("getTransactionIsolation", mID);
+    return callIntMethod_ThrowSQL("getTransactionIsolation", mID);
 }
 
 void SAL_CALL java_sql_Connection::setTransactionIsolation( sal_Int32 level ) throw(SQLException, RuntimeException, std::exception)
@@ -446,7 +446,7 @@ void SAL_CALL java_sql_Connection::setTransactionIsolation( sal_Int32 level ) th
     checkDisposed(java_sql_Connection_BASE::rBHelper.bDisposed);
 
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Throw("setTransactionIsolation", mID, level);
+    callVoidMethodWithIntArg_ThrowSQL("setTransactionIsolation", mID, level);
 }
 
 Reference< XStatement > SAL_CALL java_sql_Connection::createStatement(  ) throw(SQLException, RuntimeException, std::exception)
@@ -557,7 +557,7 @@ OUString SAL_CALL java_sql_Connection::nativeSQL( const OUString& sql ) throw(SQ
 void SAL_CALL java_sql_Connection::clearWarnings(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("clearWarnings", mID);
+    callVoidMethod_ThrowSQL("clearWarnings", mID);
 }
 
 Any SAL_CALL java_sql_Connection::getWarnings(  ) throw(SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/JStatement.cxx b/connectivity/source/drivers/jdbc/JStatement.cxx
index 4640bcd..bf3cb56 100644
--- a/connectivity/source/drivers/jdbc/JStatement.cxx
+++ b/connectivity/source/drivers/jdbc/JStatement.cxx
@@ -85,7 +85,7 @@ void SAL_CALL OStatement_BASE2::disposing()
     if ( object )
     {
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("close", mID);
+        callVoidMethod_ThrowSQL("close", mID);
     }
 
     ::comphelper::disposeComponent(m_xGeneratedStatement);
@@ -192,7 +192,7 @@ void SAL_CALL java_sql_Statement_Base::cancel(  ) throw(RuntimeException, std::e
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Nothrow("cancel",mID);
+    callVoidMethod_ThrowRuntime("cancel",mID);
 }
 
 
@@ -214,7 +214,7 @@ void SAL_CALL java_sql_Statement::clearBatch(  ) throw(::com::sun::star::sdbc::S
 
         createStatement(t.pEnv);
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("clearBatch", mID);
+        callVoidMethod_ThrowSQL("clearBatch", mID);
     } //t.pEnv
 }
 
@@ -368,7 +368,7 @@ sal_Int32 SAL_CALL java_sql_Statement_Base::getUpdateCount(  ) throw(::com::sun:
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    sal_Int32 out = callIntMethod_Throw("getUpdateCount", mID);
+    sal_Int32 out = callIntMethod_ThrowSQL("getUpdateCount", mID);
     m_aLogger.log( LogLevel::FINER, STR_LOG_UPDATE_COUNT, (sal_Int32)out );
     return out;
 }
@@ -409,7 +409,7 @@ void SAL_CALL java_sql_Statement_Base::clearWarnings(  ) throw(::com::sun::star:
     {
         createStatement(t.pEnv);
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("clearWarnings", mID);
+        callVoidMethod_ThrowSQL("clearWarnings", mID);
     }
 }
 
@@ -442,7 +442,7 @@ sal_Int32 java_sql_Statement_Base::impl_getProperty(const char* _pMethodName, jm
 {
     sal_Int32 out = _nDefault;
     if ( object )
-        out = callIntMethod_Nothrow(_pMethodName, _inout_MethodID);
+        out = callIntMethod_ThrowRuntime(_pMethodName, _inout_MethodID);
     return out;
 }
 
@@ -450,10 +450,9 @@ sal_Int32 java_sql_Statement_Base::impl_getProperty(const char* _pMethodName, jm
 {
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
-    return callIntMethod_Nothrow(_pMethodName, _inout_MethodID);
+    return callIntMethod_ThrowRuntime(_pMethodName, _inout_MethodID);
 }
 
-
 sal_Int32 java_sql_Statement_Base::getFetchDirection() throw(SQLException, RuntimeException)
 {
     static jmethodID mID(NULL);
@@ -496,7 +495,7 @@ void java_sql_Statement_Base::setQueryTimeOut(sal_Int32 _par0) throw(SQLExceptio
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setQueryTimeOut", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setQueryTimeOut", mID, _par0);
 }
 
 
@@ -510,10 +509,9 @@ void java_sql_Statement_Base::setEscapeProcessing(bool _par0) throw(SQLException
     m_bEscapeProcessing = _par0;
     createStatement( t.pEnv );
     static jmethodID mID(NULL);
-    callVoidMethodWithBoolArg_Nothrow("setEscapeProcessing", mID, _par0);
+    callVoidMethodWithBoolArg_ThrowRuntime("setEscapeProcessing", mID, _par0);
 }
 
-
 void java_sql_Statement_Base::setMaxRows(sal_Int32 _par0) throw(SQLException, RuntimeException)
 {
     ::osl::MutexGuard aGuard( m_aMutex );
@@ -521,7 +519,7 @@ void java_sql_Statement_Base::setMaxRows(sal_Int32 _par0) throw(SQLException, Ru
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setMaxRows", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setMaxRows", mID, _par0);
 }
 
 void java_sql_Statement_Base::setResultSetConcurrency(sal_Int32 _par0) throw(SQLException, RuntimeException)
@@ -552,7 +550,7 @@ void java_sql_Statement_Base::setFetchDirection(sal_Int32 _par0) throw(SQLExcept
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setFetchDirection", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setFetchDirection", mID, _par0);
 }
 
 void java_sql_Statement_Base::setFetchSize(sal_Int32 _par0) throw(SQLException, RuntimeException)
@@ -564,7 +562,7 @@ void java_sql_Statement_Base::setFetchSize(sal_Int32 _par0) throw(SQLException,
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setFetchSize", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setFetchSize", mID, _par0);
 }
 
 void java_sql_Statement_Base::setMaxFieldSize(sal_Int32 _par0) throw(SQLException, RuntimeException)
@@ -574,7 +572,7 @@ void java_sql_Statement_Base::setMaxFieldSize(sal_Int32 _par0) throw(SQLExceptio
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setMaxFieldSize", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setMaxFieldSize", mID, _par0);
 }
 
 void java_sql_Statement_Base::setCursorName(const OUString &_par0) throw(SQLException, RuntimeException)
diff --git a/connectivity/source/drivers/jdbc/Object.cxx b/connectivity/source/drivers/jdbc/Object.cxx
index cd6a5c0..9401eb6 100644
--- a/connectivity/source/drivers/jdbc/Object.cxx
+++ b/connectivity/source/drivers/jdbc/Object.cxx
@@ -274,7 +274,7 @@ jobject java_lang_Object::callResultSetMethod( JNIEnv& _rEnv,const char* _pMetho
     return out;
 }
 
-sal_Int32 java_lang_Object::callIntMethod_Throw(const char* _pMethodName, jmethodID& _inout_MethodID) const
+sal_Int32 java_lang_Object::callIntMethod_ThrowSQL(const char* _pMethodName, jmethodID& _inout_MethodID) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -285,7 +285,7 @@ sal_Int32 java_lang_Object::callIntMethod_Throw(const char* _pMethodName, jmetho
     return (sal_Int32)out;
 }
 
-sal_Int32 java_lang_Object::callIntMethod_Nothrow(const char* _pMethodName, jmethodID& _inout_MethodID) const
+sal_Int32 java_lang_Object::callIntMethod_ThrowRuntime(const char* _pMethodName, jmethodID& _inout_MethodID) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -296,7 +296,7 @@ sal_Int32 java_lang_Object::callIntMethod_Nothrow(const char* _pMethodName, jmet
     return (sal_Int32)out;
 }
 
-sal_Int32 java_lang_Object::callIntMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
+sal_Int32 java_lang_Object::callIntMethodWithIntArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -307,18 +307,18 @@ sal_Int32 java_lang_Object::callIntMethodWithIntArg_Throw( const char* _pMethodN
     return (sal_Int32)out;
 }
 
-sal_Int32 java_lang_Object::callIntMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
+sal_Int32 java_lang_Object::callIntMethodWithIntArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
+    obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
     isExceptionOccurred(t.pEnv,true);
     return (sal_Int32)out;
 }
 
-void java_lang_Object::callVoidMethod_Throw( const char* _pMethodName, jmethodID& _inout_MethodID) const
+void java_lang_Object::callVoidMethod_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -329,18 +329,18 @@ void java_lang_Object::callVoidMethod_Throw( const char* _pMethodName, jmethodID
     ThrowSQLException( t.pEnv, NULL );
 }
 
-void java_lang_Object::callVoidMethod_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID) const
+void java_lang_Object::callVoidMethod_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"()V", _inout_MethodID);
+    obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"()V", _inout_MethodID);
 
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID );
     isExceptionOccurred(t.pEnv, true);
 }
 
-void java_lang_Object::callVoidMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const
+void java_lang_Object::callVoidMethodWithIntArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -351,18 +351,18 @@ void java_lang_Object::callVoidMethodWithIntArg_Throw( const char* _pMethodName,
     ThrowSQLException( t.pEnv, NULL );
 }
 
-void java_lang_Object::callVoidMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const
+void java_lang_Object::callVoidMethodWithIntArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(I)V", _inout_MethodID);
+    obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"(I)V", _inout_MethodID);
 
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID,_nArgument );
     isExceptionOccurred(t.pEnv, true);
 }
 
-void java_lang_Object::callVoidMethodWithBoolArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const
+void java_lang_Object::callVoidMethodWithBoolArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -372,11 +372,11 @@ void java_lang_Object::callVoidMethodWithBoolArg_Throw( const char* _pMethodName
     ThrowSQLException( t.pEnv, NULL );
 }
 
-void java_lang_Object::callVoidMethodWithBoolArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const
+void java_lang_Object::callVoidMethodWithBoolArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(Z)V", _inout_MethodID);
+    obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"(Z)V", _inout_MethodID);
     // call method
     t.pEnv->CallVoidMethod( object, _inout_MethodID,int(_nArgument) );
     isExceptionOccurred(t.pEnv,true);
diff --git a/connectivity/source/drivers/jdbc/PreparedStatement.cxx b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
index 41d6ab8..6b82ce0 100644
--- a/connectivity/source/drivers/jdbc/PreparedStatement.cxx
+++ b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
@@ -113,7 +113,7 @@ sal_Int32 SAL_CALL java_sql_PreparedStatement::executeUpdate(  ) throw(::com::su
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    return callIntMethod_Throw("executeUpdate", mID);
+    return callIntMethod_ThrowSQL("executeUpdate", mID);
 }
 
 
@@ -169,7 +169,7 @@ void SAL_CALL java_sql_PreparedStatement::setBoolean( sal_Int32 parameterIndex,
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setBoolean", "(IZ)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setBoolean", "(IZ)V", mID, parameterIndex, x);
 }
 
 
@@ -182,7 +182,7 @@ void SAL_CALL java_sql_PreparedStatement::setByte( sal_Int32 parameterIndex, sal
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setByte", "(IB)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setByte", "(IB)V", mID, parameterIndex, x);
 }
 
 
@@ -196,7 +196,7 @@ void SAL_CALL java_sql_PreparedStatement::setDate( sal_Int32 parameterIndex, con
     createStatement(t.pEnv);
     java_sql_Date aT(x);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setDate", "(ILjava/sql/Date;)V", mID, parameterIndex, aT.getJavaObject());
+    callVoidMethod_ThrowSQL("setDate", "(ILjava/sql/Date;)V", mID, parameterIndex, aT.getJavaObject());
 }
 
 
@@ -211,7 +211,7 @@ void SAL_CALL java_sql_PreparedStatement::setTime( sal_Int32 parameterIndex, con
     createStatement(t.pEnv);
     java_sql_Time aT(x);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setTime", "(ILjava/sql/Time;)V", mID, parameterIndex, aT.getJavaObject());
+    callVoidMethod_ThrowSQL("setTime", "(ILjava/sql/Time;)V", mID, parameterIndex, aT.getJavaObject());
 }
 
 
@@ -225,7 +225,7 @@ void SAL_CALL java_sql_PreparedStatement::setTimestamp( sal_Int32 parameterIndex
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
     java_sql_Timestamp aD(x);
-    callVoidMethod_Throw("setTimestamp", "(ILjava/sql/Timestamp;)V", mID, parameterIndex, aD.getJavaObject());
+    callVoidMethod_ThrowSQL("setTimestamp", "(ILjava/sql/Timestamp;)V", mID, parameterIndex, aD.getJavaObject());
 }
 
 void SAL_CALL java_sql_PreparedStatement::setDouble( sal_Int32 parameterIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
@@ -237,7 +237,7 @@ void SAL_CALL java_sql_PreparedStatement::setDouble( sal_Int32 parameterIndex, d
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setDouble", "(ID)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setDouble", "(ID)V", mID, parameterIndex, x);
 }
 
 
@@ -250,7 +250,7 @@ void SAL_CALL java_sql_PreparedStatement::setFloat( sal_Int32 parameterIndex, fl
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setFloat", "(IF)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setFloat", "(IF)V", mID, parameterIndex, x);
 }
 
 
@@ -263,7 +263,7 @@ void SAL_CALL java_sql_PreparedStatement::setInt( sal_Int32 parameterIndex, sal_
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setInt", "(II)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setInt", "(II)V", mID, parameterIndex, x);
 }
 
 
@@ -276,7 +276,7 @@ void SAL_CALL java_sql_PreparedStatement::setLong( sal_Int32 parameterIndex, sal
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setLong", "(IJ)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setLong", "(IJ)V", mID, parameterIndex, x);
 }
 
 
@@ -289,7 +289,7 @@ void SAL_CALL java_sql_PreparedStatement::setNull( sal_Int32 parameterIndex, sal
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setNull", "(II)V", mID, parameterIndex, sqlType);
+    callVoidMethod_ThrowSQL("setNull", "(II)V", mID, parameterIndex, sqlType);
 }
 
 
@@ -385,7 +385,7 @@ void SAL_CALL java_sql_PreparedStatement::setObjectNull( sal_Int32 parameterInde
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw<jobject>("setObject", "(ILjava/lang/Object;)V", mID, parameterIndex, NULL);
+    callVoidMethod_ThrowSQL<jobject>("setObject", "(ILjava/lang/Object;)V", mID, parameterIndex, NULL);
 }
 
 
@@ -411,7 +411,7 @@ void SAL_CALL java_sql_PreparedStatement::setShort( sal_Int32 parameterIndex, sa
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     createStatement(t.pEnv);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("setShort", "(IS)V", mID, parameterIndex, x);
+    callVoidMethod_ThrowSQL("setShort", "(IS)V", mID, parameterIndex, x);
 }
 
 
@@ -549,7 +549,7 @@ void SAL_CALL java_sql_PreparedStatement::clearParameters(  ) throw(::com::sun::
         createStatement(t.pEnv);
 
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("clearParameters",mID);
+        callVoidMethod_ThrowSQL("clearParameters",mID);
     } //t.pEnv
 }
 
@@ -561,7 +561,7 @@ void SAL_CALL java_sql_PreparedStatement::clearBatch(  ) throw(::com::sun::star:
     {
         createStatement(t.pEnv);
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("clearBatch",mID);
+        callVoidMethod_ThrowSQL("clearBatch",mID);
     } //t.pEnv
 }
 
@@ -574,7 +574,7 @@ void SAL_CALL java_sql_PreparedStatement::addBatch( ) throw(::com::sun::star::sd
     {
         createStatement(t.pEnv);
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("addBatch", mID);
+        callVoidMethod_ThrowSQL("addBatch", mID);
     } //t.pEnv
 }
 
diff --git a/connectivity/source/drivers/jdbc/Reader.cxx b/connectivity/source/drivers/jdbc/Reader.cxx
index 02114d4..323c34e 100644
--- a/connectivity/source/drivers/jdbc/Reader.cxx
+++ b/connectivity/source/drivers/jdbc/Reader.cxx
@@ -52,7 +52,7 @@ sal_Int32 SAL_CALL java_io_Reader::readSomeBytes( ::com::sun::star::uno::Sequenc
 void SAL_CALL java_io_Reader::skipBytes( sal_Int32 nBytesToSkip ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callIntMethodWithIntArg_Nothrow("skip",mID,nBytesToSkip);
+    callIntMethodWithIntArg_ThrowRuntime("skip",mID,nBytesToSkip);
 }
 
 sal_Int32 SAL_CALL java_io_Reader::available(  ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
@@ -75,7 +75,7 @@ sal_Int32 SAL_CALL java_io_Reader::available(  ) throw(::com::sun::star::io::Not
 void SAL_CALL java_io_Reader::closeInput(  ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Nothrow("close", mID);
+    callVoidMethod_ThrowRuntime("close", mID);
 }
 
 sal_Int32 SAL_CALL java_io_Reader::readBytes( ::com::sun::star::uno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/ResultSet.cxx b/connectivity/source/drivers/jdbc/ResultSet.cxx
index 361e4b4..948c127 100644
--- a/connectivity/source/drivers/jdbc/ResultSet.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSet.cxx
@@ -106,7 +106,7 @@ m_xMetaData.clear();
     {
         SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
         static jmethodID mID(NULL);
-        callVoidMethod_Throw("close", mID);
+        callVoidMethod_ThrowSQL("close", mID);
         clearObject(*t.pEnv);
     }
 
@@ -217,14 +217,14 @@ float SAL_CALL java_sql_ResultSet::getFloat( sal_Int32 columnIndex ) throw(SQLEx
 sal_Int32 SAL_CALL java_sql_ResultSet::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getInt",mID,columnIndex);
+    return callIntMethodWithIntArg_ThrowSQL("getInt",mID,columnIndex);
 }
 
 
 sal_Int32 SAL_CALL java_sql_ResultSet::getRow(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Throw("getRow", mID);
+    return callIntMethod_ThrowSQL("getRow", mID);
 }
 
 
@@ -406,13 +406,13 @@ sal_Bool SAL_CALL java_sql_ResultSet::isLast(  ) throw(SQLException, RuntimeExce
 void SAL_CALL java_sql_ResultSet::beforeFirst(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("beforeFirst", mID);
+    callVoidMethod_ThrowSQL("beforeFirst", mID);
 }
 
 void SAL_CALL java_sql_ResultSet::afterLast(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("afterLast", mID);
+    callVoidMethod_ThrowSQL("afterLast", mID);
 }
 
 
@@ -500,13 +500,13 @@ sal_Bool SAL_CALL java_sql_ResultSet::wasNull(  ) throw(SQLException, RuntimeExc
 void SAL_CALL java_sql_ResultSet::cancel(  ) throw(::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Nothrow("cancel", mID);
+    callVoidMethod_ThrowRuntime("cancel", mID);
 }
 
 void SAL_CALL java_sql_ResultSet::clearWarnings(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("clearWarnings", mID);
+    callVoidMethod_ThrowSQL("clearWarnings", mID);
 }
 
 ::com::sun::star::uno::Any SAL_CALL java_sql_ResultSet::getWarnings(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
@@ -530,79 +530,79 @@ void SAL_CALL java_sql_ResultSet::clearWarnings(  ) throw(::com::sun::star::sdbc
 void SAL_CALL java_sql_ResultSet::insertRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("insertRow", mID);
+    callVoidMethod_ThrowSQL("insertRow", mID);
 }
 
 void SAL_CALL java_sql_ResultSet::updateRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateRow", mID);
+    callVoidMethod_ThrowSQL("updateRow", mID);
 }
 
 void SAL_CALL java_sql_ResultSet::deleteRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("deleteRow", mID);
+    callVoidMethod_ThrowSQL("deleteRow", mID);
 }
 
 
 void SAL_CALL java_sql_ResultSet::cancelRowUpdates(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("cancelRowUpdates", mID);
+    callVoidMethod_ThrowSQL("cancelRowUpdates", mID);
 }
 
 
 void SAL_CALL java_sql_ResultSet::moveToInsertRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("moveToInsertRow", mID);
+    callVoidMethod_ThrowSQL("moveToInsertRow", mID);
 }
 
 
 void SAL_CALL java_sql_ResultSet::moveToCurrentRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("moveToCurrentRow", mID);
+    callVoidMethod_ThrowSQL("moveToCurrentRow", mID);
 }
 
 
 void SAL_CALL java_sql_ResultSet::updateNull( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Throw("updateNull", mID, columnIndex);
+    callVoidMethodWithIntArg_ThrowSQL("updateNull", mID, columnIndex);
 }
 
 
 void SAL_CALL java_sql_ResultSet::updateBoolean( sal_Int32 columnIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateBoolean", "(IZ)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateBoolean", "(IZ)V", mID, columnIndex, x);
 }
 
 void SAL_CALL java_sql_ResultSet::updateByte( sal_Int32 columnIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateByte", "(IB)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateByte", "(IB)V", mID, columnIndex, x);
 }
 
 
 void SAL_CALL java_sql_ResultSet::updateShort( sal_Int32 columnIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateShort", "(IS)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateShort", "(IS)V", mID, columnIndex, x);
 }
 
 void SAL_CALL java_sql_ResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateInt", "(II)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateInt", "(II)V", mID, columnIndex, x);
 }
 
 void SAL_CALL java_sql_ResultSet::updateLong( sal_Int32 columnIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateLong", "(IJ)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateLong", "(IJ)V", mID, columnIndex, x);
 }
 
 
@@ -610,14 +610,14 @@ void SAL_CALL java_sql_ResultSet::updateLong( sal_Int32 columnIndex, sal_Int64 x
 void SAL_CALL java_sql_ResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateFloat", "(IF)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateFloat", "(IF)V", mID, columnIndex, x);
 }
 
 
 void SAL_CALL java_sql_ResultSet::updateDouble( sal_Int32 columnIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateDouble", "(ID)V", mID, columnIndex, x);
+    callVoidMethod_ThrowSQL("updateDouble", "(ID)V", mID, columnIndex, x);
 }
 
 
@@ -679,7 +679,7 @@ void SAL_CALL java_sql_ResultSet::updateDate( sal_Int32 columnIndex, const ::com
 {
     java_sql_Date aD(x);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateDate", "(ILjava/sql/Date;)V", mID, columnIndex, aD.getJavaObject());
+    callVoidMethod_ThrowSQL("updateDate", "(ILjava/sql/Date;)V", mID, columnIndex, aD.getJavaObject());
 }
 
 
@@ -687,7 +687,7 @@ void SAL_CALL java_sql_ResultSet::updateTime( sal_Int32 columnIndex, const ::com
 {
     java_sql_Time aD(x);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateTime", "(ILjava/sql/Time;)V", mID, columnIndex, aD.getJavaObject());
+    callVoidMethod_ThrowSQL("updateTime", "(ILjava/sql/Time;)V", mID, columnIndex, aD.getJavaObject());
 }
 
 
@@ -695,7 +695,7 @@ void SAL_CALL java_sql_ResultSet::updateTimestamp( sal_Int32 columnIndex, const
 {
     java_sql_Timestamp aD(x);
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("updateTimestamp", "(ILjava/sql/Timestamp;)V", mID, columnIndex, aD.getJavaObject());
+    callVoidMethod_ThrowSQL("updateTimestamp", "(ILjava/sql/Timestamp;)V", mID, columnIndex, aD.getJavaObject());
 }
 
 
@@ -820,25 +820,25 @@ void SAL_CALL java_sql_ResultSet::updateNumericObject( sal_Int32 columnIndex, co
 sal_Int32 java_sql_ResultSet::getResultSetConcurrency() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Nothrow("getConcurrency", mID);
+    return callIntMethod_ThrowRuntime("getConcurrency", mID);
 }
 
 sal_Int32 java_sql_ResultSet::getResultSetType() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Nothrow("getType",mID);
+    return callIntMethod_ThrowRuntime("getType",mID);
 }
 
 sal_Int32 java_sql_ResultSet::getFetchDirection() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Nothrow("getFetchDirection", mID);
+    return callIntMethod_ThrowRuntime("getFetchDirection", mID);
 }
 
 sal_Int32 java_sql_ResultSet::getFetchSize() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Nothrow("getFetchSize", mID);
+    return callIntMethod_ThrowRuntime("getFetchSize", mID);
 }
 
 OUString java_sql_ResultSet::getCursorName() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
@@ -851,19 +851,19 @@ OUString java_sql_ResultSet::getCursorName() const throw(::com::sun::star::sdbc:
 void java_sql_ResultSet::setFetchDirection(sal_Int32 _par0) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setFetchDirection", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setFetchDirection", mID, _par0);
 }
 
 void SAL_CALL java_sql_ResultSet::refreshRow(  ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    callVoidMethod_Throw("refreshRow",mID);
+    callVoidMethod_ThrowSQL("refreshRow",mID);
 }
 
 void java_sql_ResultSet::setFetchSize(sal_Int32 _par0) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
     static jmethodID mID(NULL);
-    callVoidMethodWithIntArg_Nothrow("setFetchSize", mID, _par0);
+    callVoidMethodWithIntArg_ThrowRuntime("setFetchSize", mID, _par0);
 }
 
 ::cppu::IPropertyArrayHelper* java_sql_ResultSet::createArrayHelper( ) const
diff --git a/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx b/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
index 6dcd5da..508d769 100644
--- a/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
@@ -58,14 +58,14 @@ jclass java_sql_ResultSetMetaData::getMyClass() const
 sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getColumnDisplaySize",mID,column);
+    return callIntMethodWithIntArg_ThrowSQL("getColumnDisplaySize",mID,column);
 }
 
 
 sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getColumnType( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getColumnType",mID,column);
+    return callIntMethodWithIntArg_ThrowSQL("getColumnType",mID,column);
 }
 
 
@@ -74,7 +74,7 @@ sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getColumnCount(  ) throw(SQLExcep
     if ( m_nColumnCount == -1 )
     {
         static jmethodID mID(NULL);
-        m_nColumnCount = callIntMethod_Throw("getColumnCount", mID);
+        m_nColumnCount = callIntMethod_ThrowSQL("getColumnCount", mID);
     } // if ( m_nColumnCount == -1 )
     return m_nColumnCount;
 
@@ -157,19 +157,19 @@ sal_Bool SAL_CALL java_sql_ResultSetMetaData::isSigned( sal_Int32 column ) throw
 sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getPrecision( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getPrecision",mID,column);
+    return callIntMethodWithIntArg_ThrowSQL("getPrecision",mID,column);
 }
 
 sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("getScale",mID,column);
+    return callIntMethodWithIntArg_ThrowSQL("getScale",mID,column);
 }
 
 sal_Int32 SAL_CALL java_sql_ResultSetMetaData::isNullable( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
 {
     static jmethodID mID(NULL);
-    return callIntMethodWithIntArg_Throw("isNullable",mID,column);
+    return callIntMethodWithIntArg_ThrowSQL("isNullable",mID,column);
 }
 
 
diff --git a/connectivity/source/drivers/jdbc/SQLException.cxx b/connectivity/source/drivers/jdbc/SQLException.cxx
index 1b2cc88..c05650e 100644
--- a/connectivity/source/drivers/jdbc/SQLException.cxx
+++ b/connectivity/source/drivers/jdbc/SQLException.cxx
@@ -84,7 +84,7 @@ OUString java_sql_SQLException_BASE::getSQLState() const
 sal_Int32 java_sql_SQLException_BASE::getErrorCode() const
 {
     static jmethodID mID(NULL);
-    return callIntMethod_Throw("getErrorCode", mID);
+    return callIntMethod_ThrowSQL("getErrorCode", mID);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/jdbc/Throwable.cxx b/connectivity/source/drivers/jdbc/Throwable.cxx
index 18d7a2b..d4172bd 100644
--- a/connectivity/source/drivers/jdbc/Throwable.cxx
+++ b/connectivity/source/drivers/jdbc/Throwable.cxx
@@ -59,7 +59,7 @@ OUString java_lang_Throwable::getLocalizedMessage() const
 void java_lang_Throwable::printStackTrace() const
 {
     static jmethodID mID(NULL);
-    return callVoidMethod_Throw("printStackTrace",mID);
+    return callVoidMethod_ThrowSQL("printStackTrace",mID);
 }
 #endif
 
diff --git a/connectivity/source/inc/java/lang/Object.hxx b/connectivity/source/inc/java/lang/Object.hxx
index 0d524ae..1904334 100644
--- a/connectivity/source/inc/java/lang/Object.hxx
+++ b/connectivity/source/inc/java/lang/Object.hxx
@@ -115,19 +115,19 @@ namespace connectivity
         bool        callBooleanMethod( const char* _pMethodName, jmethodID& _inout_MethodID ) const;
         bool        callBooleanMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
         jobject         callResultSetMethod( JNIEnv& _rEnv, const char* _pMethodName, jmethodID& _inout_MethodID ) const;
-        sal_Int32       callIntMethod_Throw(const char* _pMethodName, jmethodID& _inout_MethodID) const;
-        sal_Int32       callIntMethod_Nothrow(const char* _pMethodName, jmethodID& _inout_MethodID) const;
-        sal_Int32       callIntMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
-        sal_Int32       callIntMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+        sal_Int32       callIntMethod_ThrowSQL(const char* _pMethodName, jmethodID& _inout_MethodID) const;
+        sal_Int32       callIntMethod_ThrowRuntime(const char* _pMethodName, jmethodID& _inout_MethodID) const;
+        sal_Int32       callIntMethodWithIntArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+        sal_Int32       callIntMethodWithIntArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
         sal_Int32       callIntMethodWithStringArg( const char* _pMethodName, jmethodID& _inout_MethodID,const OUString& _nArgument ) const;
         OUString callStringMethod( const char* _pMethodName, jmethodID& _inout_MethodID ) const;
         OUString callStringMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID , sal_Int32 _nArgument) const;
-        void            callVoidMethod_Throw( const char* _pMethodName, jmethodID& _inout_MethodID) const;
-        void            callVoidMethod_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID) const;
-        void            callVoidMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
-        void            callVoidMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
-        void            callVoidMethodWithBoolArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const;
-        void            callVoidMethodWithBoolArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const;
+        void            callVoidMethod_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID) const;
+        void            callVoidMethod_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID) const;
+        void            callVoidMethodWithIntArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+        void            callVoidMethodWithIntArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+        void            callVoidMethodWithBoolArg_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const;
+        void            callVoidMethodWithBoolArg_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID, bool _nArgument ) const;
         void            callVoidMethodWithStringArg( const char* _pMethodName, jmethodID& _inout_MethodID, const OUString& _nArgument ) const;
         jobject         callObjectMethod( JNIEnv * pEnv, const char* _pMethodName, const char* _pSignature, jmethodID& _inout_MethodID ) const;
         jobject         callObjectMethodWithIntArg( JNIEnv * pEnv, const char* _pMethodName, const char* _pSignature, jmethodID& _inout_MethodID , sal_Int32 _nArgument) const;
@@ -143,7 +143,7 @@ namespace connectivity
         }
 
         template< typename T >
-                        void callVoidMethod_Throw(const char* _pMethodName, const char* _pSignature, jmethodID& _inout_MethodID,sal_Int32 _nArgument, const T& _aValue) const
+                        void callVoidMethod_ThrowSQL(const char* _pMethodName, const char* _pSignature, jmethodID& _inout_MethodID,sal_Int32 _nArgument, const T& _aValue) const
         {
             SDBThreadAttach t;
             obtainMethodId_throwSQL(t.pEnv, _pMethodName,_pSignature, _inout_MethodID);
diff --git a/connectivity/source/inc/java/sql/DatabaseMetaData.hxx b/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
index bd704a8..7a8105a 100644
--- a/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
+++ b/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
@@ -202,8 +202,8 @@ namespace connectivity
     private:
         bool        impl_callBooleanMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
         OUString impl_callStringMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
-        sal_Int32   impl_callIntMethod_Throw( const char* _pMethodName, jmethodID& _inout_MethodID );
-        sal_Int32   impl_callIntMethod_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID );
+        sal_Int32   impl_callIntMethod_ThrowSQL( const char* _pMethodName, jmethodID& _inout_MethodID );
+        sal_Int32   impl_callIntMethod_ThrowRuntime( const char* _pMethodName, jmethodID& _inout_MethodID );
         bool        impl_callBooleanMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument );
         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >
                         impl_callResultSetMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
commit 7c896697f29730476ea0fc4517d94c2c8e8b2074
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 25 15:22:39 2014 +0100

    coverity#706317 Uncaught exception
    
    Change-Id: I8b39addd8d4b9f7d68d0f7a317d1dff7388aba93

diff --git a/connectivity/source/drivers/jdbc/Array.cxx b/connectivity/source/drivers/jdbc/Array.cxx
index d3ff1ba..a1b3c3b 100644
--- a/connectivity/source/drivers/jdbc/Array.cxx
+++ b/connectivity/source/drivers/jdbc/Array.cxx
@@ -60,7 +60,7 @@ sal_Int32 SAL_CALL java_sql_Array::getBaseType(  ) throw(::com::sun::star::sdbc:
         static const char * cSignature = "(Ljava/util/Map;)[Ljava/lang/Object;";
         static const char * cMethodName = "getArray";
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // submit Java-Call
         t.pEnv->CallObjectMethod( object, mID, obj);
         ThrowSQLException(t.pEnv,*this);
@@ -79,7 +79,7 @@ sal_Int32 SAL_CALL java_sql_Array::getBaseType(  ) throw(::com::sun::star::sdbc:
         static const char * cMethodName = "getArray";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         t.pEnv->CallObjectMethod( object, mID, index,count,obj);
         ThrowSQLException(t.pEnv,*this);
         // and clean up
@@ -99,7 +99,7 @@ sal_Int32 SAL_CALL java_sql_Array::getBaseType(  ) throw(::com::sun::star::sdbc:
         static const char * cMethodName = "getResultSet";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         t.pEnv->CallObjectMethod( object, mID, obj);
         ThrowSQLException(t.pEnv,*this);
         // and cleanup
@@ -119,7 +119,7 @@ sal_Int32 SAL_CALL java_sql_Array::getBaseType(  ) throw(::com::sun::star::sdbc:
         static const char * cMethodName = "getResultSetAtIndex";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         t.pEnv->CallObjectMethod( object, mID, index,count,obj);
         ThrowSQLException(t.pEnv,*this);
         // and cleanup
diff --git a/connectivity/source/drivers/jdbc/Blob.cxx b/connectivity/source/drivers/jdbc/Blob.cxx
index 50eaf10..c6a29ba 100644
--- a/connectivity/source/drivers/jdbc/Blob.cxx
+++ b/connectivity/source/drivers/jdbc/Blob.cxx
@@ -59,7 +59,7 @@ sal_Int64 SAL_CALL java_sql_Blob::length(  ) throw(::com::sun::star::sdbc::SQLEx
         static const char * cMethodName = "length";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallLongMethod( object, mID );
         ThrowSQLException(t.pEnv,*this);
     } //t.pEnv
@@ -76,7 +76,7 @@ sal_Int64 SAL_CALL java_sql_Blob::length(  ) throw(::com::sun::star::sdbc::SQLEx
         static const char * cMethodName = "getBytes";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         jbyteArray out = static_cast<jbyteArray>(t.pEnv->CallObjectMethod( object, mID,pos,count));
         ThrowSQLException(t.pEnv,*this);
         if(out)
@@ -111,7 +111,7 @@ sal_Int64 SAL_CALL java_sql_Blob::position( const ::com::sun::star::uno::Sequenc
         static const char * cMethodName = "position";
         // submit Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // convert Parameter
         jbyteArray pByteArray = t.pEnv->NewByteArray(pattern.getLength());
         t.pEnv->SetByteArrayRegion(pByteArray,0,pattern.getLength(),(jbyte*)pattern.getConstArray());
diff --git a/connectivity/source/drivers/jdbc/CallableStatement.cxx b/connectivity/source/drivers/jdbc/CallableStatement.cxx
index a915b8c..6debd57 100644
--- a/connectivity/source/drivers/jdbc/CallableStatement.cxx
+++ b/connectivity/source/drivers/jdbc/CallableStatement.cxx
@@ -215,7 +215,7 @@ void SAL_CALL java_sql_CallableStatement::registerOutParameter( sal_Int32 parame
         static const char * cMethodName = "registerOutParameter";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // Convert Parameter
         jdbc::LocalRef< jstring > str( t.env(),convertwchar_tToJavaString(t.pEnv,typeName));
         t.pEnv->CallVoidMethod( object, mID, parameterIndex,sqlType,str.get());
@@ -235,7 +235,7 @@ void SAL_CALL java_sql_CallableStatement::registerNumericOutParameter( sal_Int32
         static const char * cMethodName = "registerOutParameter";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         t.pEnv->CallVoidMethod( object, mID, parameterIndex,sqlType,scale);
         ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     }
diff --git a/connectivity/source/drivers/jdbc/Clob.cxx b/connectivity/source/drivers/jdbc/Clob.cxx
index a157a33..cba4cf6 100644
--- a/connectivity/source/drivers/jdbc/Clob.cxx
+++ b/connectivity/source/drivers/jdbc/Clob.cxx
@@ -58,7 +58,7 @@ sal_Int64 SAL_CALL java_sql_Clob::length(  ) throw(::com::sun::star::sdbc::SQLEx
         static const char * cMethodName = "length";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallLongMethod( object, mID );
         ThrowSQLException(t.pEnv,*this);
     } //t.pEnv
@@ -75,7 +75,7 @@ OUString SAL_CALL java_sql_Clob::getSubString( sal_Int64 pos, sal_Int32 subStrin
         static const char * cMethodName = "getSubString";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         jstring out = static_cast<jstring>(t.pEnv->CallObjectMethod( object, mID,pos,subStringLength));
         ThrowSQLException(t.pEnv,*this);
         aStr = JavaString2String(t.pEnv,out);
@@ -108,7 +108,7 @@ sal_Int64 SAL_CALL java_sql_Clob::position( const OUString& searchstr, sal_Int32
         static const char * cMethodName = "position";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallLongMethod( object, mID, args[0].l,start );
         ThrowSQLException(t.pEnv,*this);
         t.pEnv->DeleteLocalRef(static_cast<jstring>(args[0].l));
diff --git a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
index 2b7e5e6..979d067 100644
--- a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
@@ -117,7 +117,7 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTables(
     {
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         OSL_VERIFY_RES( !isExceptionOccurred(t.pEnv, true),"Exception occurred!");
         jvalue args[4];
 
@@ -346,7 +346,7 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getIndexInfo(
     {
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         jvalue args[5];
         // convert Parameter
         args[0].l = catalog.hasValue() ? convertwchar_tToJavaString(t.pEnv,comphelper::getString(catalog)) : 0;
@@ -387,7 +387,7 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getBestRowIdentifier
     {
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         jvalue args[3];
         // convert Parameter
         args[0].l = catalog.hasValue() ? convertwchar_tToJavaString(t.pEnv,comphelper::getString(catalog)) : 0;
@@ -503,7 +503,7 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getCrossReference(
 
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         jvalue args[6];
         // convert Parameter
         args[0].l = primaryCatalog.hasValue() ? convertwchar_tToJavaString(t.pEnv,comphelper::getString(primaryCatalog)) : 0;
@@ -631,7 +631,7 @@ Reference< XResultSet > java_sql_DatabaseMetaData::impl_callResultSetMethodWithS
             ?   "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"
             :   "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;";
         // obtain method ID
-        obtainMethodId(t.pEnv, _pMethodName,pSignature, _inout_MethodID);
+        obtainMethodId_throwSQL(t.pEnv, _pMethodName,pSignature, _inout_MethodID);
 
         // call method
 
@@ -1000,7 +1000,7 @@ sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsConvert( sal_Int32 fromType
 
     {
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, pMethodName,"(II)Z", mID);
+        obtainMethodId_throwSQL(t.pEnv, pMethodName,"(II)Z", mID);
         out = t.pEnv->CallBooleanMethod( object, mID, fromType, toType );
         ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     }
@@ -1342,7 +1342,7 @@ sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsResultSetConcurrency( sal_I
 
     {
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, pMethodName,"(II)Z", mID);
+        obtainMethodId_throwSQL(t.pEnv, pMethodName,"(II)Z", mID);
         out =   t.pEnv->CallBooleanMethod( object, mID, setType, concurrency);
         ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     }
@@ -1424,7 +1424,7 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getUDTs(
         static const char * cMethodName = "getUDTs";
         // dismiss Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         {
             jvalue args[4];
             // initialize temporary Variable
diff --git a/connectivity/source/drivers/jdbc/InputStream.cxx b/connectivity/source/drivers/jdbc/InputStream.cxx
index f1cba90..f6697d7 100644
--- a/connectivity/source/drivers/jdbc/InputStream.cxx
+++ b/connectivity/source/drivers/jdbc/InputStream.cxx
@@ -91,7 +91,7 @@ sal_Int32 SAL_CALL java_io_InputStream::readBytes( ::com::sun::star::uno::Sequen
         static const char * cMethodName = "read";
         // execute Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         out = t.pEnv->CallIntMethod( object, mID, pByteArray, 0, nBytesToRead );
         if ( !out )
             ThrowSQLException(t.pEnv,*this);
diff --git a/connectivity/source/drivers/jdbc/JBigDecimal.cxx b/connectivity/source/drivers/jdbc/JBigDecimal.cxx
index 4b7bc76..b65da39 100644
--- a/connectivity/source/drivers/jdbc/JBigDecimal.cxx
+++ b/connectivity/source/drivers/jdbc/JBigDecimal.cxx
@@ -48,7 +48,7 @@ java_math_BigDecimal::java_math_BigDecimal( const OUString& _par0 ): java_lang_O
     static const char * cSignature = "(Ljava/lang/String;)V";
     jobject tempObj;
     static jmethodID mID(NULL);
-    obtainMethodId(t.pEnv, "<init>",cSignature, mID);
+    obtainMethodId_throwSQL(t.pEnv, "<init>",cSignature, mID);
 
     jstring str = convertwchar_tToJavaString(t.pEnv,_par0.replace(',','.'));
     tempObj = t.pEnv->NewObject( getMyClass(), mID, str );
@@ -69,7 +69,7 @@ java_math_BigDecimal::java_math_BigDecimal( const double& _par0 ): java_lang_Obj
     static const char * cSignature = "(D)V";
     jobject tempObj;
     static jmethodID mID(NULL);
-    obtainMethodId(t.pEnv, "<init>",cSignature, mID);
+    obtainMethodId_throwSQL(t.pEnv, "<init>",cSignature, mID);
     tempObj = t.pEnv->NewObject( getMyClass(), mID, _par0 );
     saveRef( t.pEnv, tempObj );
     t.pEnv->DeleteLocalRef( tempObj );
diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx b/connectivity/source/drivers/jdbc/JConnection.cxx
index 7fe3fe8..fb3cf80 100644
--- a/connectivity/source/drivers/jdbc/JConnection.cxx
+++ b/connectivity/source/drivers/jdbc/JConnection.cxx
@@ -540,7 +540,7 @@ OUString SAL_CALL java_sql_Connection::nativeSQL( const OUString& sql ) throw(SQ
         static const char * cMethodName = "nativeSQL";
         // Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // Convert Parameter
         jdbc::LocalRef< jstring > str( t.env(),convertwchar_tToJavaString(t.pEnv,sql));
 
diff --git a/connectivity/source/drivers/jdbc/JStatement.cxx b/connectivity/source/drivers/jdbc/JStatement.cxx
index dd75339..4640bcd 100644
--- a/connectivity/source/drivers/jdbc/JStatement.cxx
+++ b/connectivity/source/drivers/jdbc/JStatement.cxx
@@ -235,7 +235,7 @@ sal_Bool SAL_CALL java_sql_Statement_Base::execute( const OUString& sql ) throw(
         static const char * cMethodName = "execute";
         // Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // convert Parameter
         jdbc::LocalRef< jstring > str( t.env(), convertwchar_tToJavaString( t.pEnv, sql ) );
         {
@@ -270,7 +270,7 @@ Reference< XResultSet > SAL_CALL java_sql_Statement_Base::executeQuery( const OU
         static const char * cMethodName = "executeQuery";
         // Java-Call
         static jmethodID mID(NULL);
-        obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
+        obtainMethodId_throwSQL(t.pEnv, cMethodName,cSignature, mID);
         // convert Parameter
         jdbc::LocalRef< jstring > str( t.env(), convertwchar_tToJavaString( t.pEnv, sql ) );
         {
diff --git a/connectivity/source/drivers/jdbc/Object.cxx b/connectivity/source/drivers/jdbc/Object.cxx
index 5ca638f..cd6a5c0 100644
--- a/connectivity/source/drivers/jdbc/Object.cxx
+++ b/connectivity/source/drivers/jdbc/Object.cxx
@@ -217,7 +217,7 @@ void java_lang_Object::ThrowSQLException( JNIEnv* _pEnvironment, const Reference
         throw aException;
 }
 
-void java_lang_Object::obtainMethodId(JNIEnv* _pEnv,const char* _pMethodName, const char* _pSignature,jmethodID& _inout_MethodID) const
+void java_lang_Object::obtainMethodId_throwSQL(JNIEnv* _pEnv,const char* _pMethodName, const char* _pSignature,jmethodID& _inout_MethodID) const
 {
     if  ( !_inout_MethodID )
     {
@@ -228,13 +228,25 @@ void java_lang_Object::obtainMethodId(JNIEnv* _pEnv,const char* _pMethodName, co
     } // if  ( !_inout_MethodID )
 }
 
+void java_lang_Object::obtainMethodId_throwRuntime(JNIEnv* _pEnv,const char* _pMethodName, const char* _pSignature,jmethodID& _inout_MethodID) const
+{
+    if  ( !_inout_MethodID )
+    {
+        _inout_MethodID  = _pEnv->GetMethodID( getMyClass(), _pMethodName, _pSignature );
+        OSL_ENSURE( _inout_MethodID, _pSignature );
+        if  ( !_inout_MethodID )
+            throw RuntimeException();
+    } // if  ( !_inout_MethodID )
+}
+
+
 bool java_lang_Object::callBooleanMethod( const char* _pMethodName, jmethodID& _inout_MethodID ) const
 {
     jboolean out( sal_False );
 
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callBooleanMethod: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"()Z", _inout_MethodID);
+    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"()Z", _inout_MethodID);
     // call method
     out = t.pEnv->CallBooleanMethod( object, _inout_MethodID );
     ThrowSQLException( t.pEnv, NULL );
@@ -247,7 +259,7 @@ bool java_lang_Object::callBooleanMethodWithIntArg( const char* _pMethodName, jm
     jboolean out( sal_False );
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callBooleanMethodWithIntArg: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"(I)Z", _inout_MethodID);
+    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(I)Z", _inout_MethodID);
     // call method
     out = t.pEnv->CallBooleanMethod( object, _inout_MethodID, _nArgument );
     ThrowSQLException( t.pEnv, NULL );
@@ -266,7 +278,7 @@ sal_Int32 java_lang_Object::callIntMethod_Throw(const char* _pMethodName, jmetho
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"()I", _inout_MethodID);
+    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"()I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID ) );
     ThrowSQLException( t.pEnv, NULL );
@@ -277,7 +289,7 @@ sal_Int32 java_lang_Object::callIntMethod_Nothrow(const char* _pMethodName, jmet
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"()I", _inout_MethodID);
+    obtainMethodId_throwRuntime(t.pEnv, _pMethodName,"()I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID ) );
     isExceptionOccurred(t.pEnv,true);
@@ -288,7 +300,7 @@ sal_Int32 java_lang_Object::callIntMethodWithIntArg_Throw( const char* _pMethodN
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
+    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
     ThrowSQLException( t.pEnv, NULL );
@@ -299,7 +311,7 @@ sal_Int32 java_lang_Object::callIntMethodWithIntArg_Nothrow( const char* _pMetho
 {
     SDBThreadAttach t;
     OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
-    obtainMethodId(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
+    obtainMethodId_throwSQL(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
     // call method
     jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
     isExceptionOccurred(t.pEnv,true);
@@ -310,7 +322,7 @@ void java_lang_Object::callVoidMethod_Throw( const char* _pMethodName, jmethodID
 {
     SDBThreadAttach t;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list