mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
Ensure more specialised exceptions are raised in PyQGIS
instead of the generic QgsException one Refs warning in https://github.com/qgis/QGIS/issues/55481#issuecomment-1849001802 ``` /tmp/work/geography/qgis/work/qgis-3.28.13/build/python/core/build/_core/sip_corepart0.cpp:38168: warning: exception of type 'QgsProviderConnectionException' will be caught 38168 | catch (QgsProviderConnectionException &sipExceptionRef) | /tmp/work/geography/qgis/work/qgis-3.28.13/build/python/core/build/_core/sip_corepart0.cpp:38158: warning: by earlier handler for 'QgsException' 38158 | catch (QgsException &sipExceptionRef) ```
This commit is contained in:
parent
4c9be3545e
commit
5171e0597a
@ -22,19 +22,6 @@
|
||||
%End
|
||||
};
|
||||
|
||||
%Exception QgsException(SIP_Exception) /PyName=QgsException/
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsexception.h>
|
||||
%End
|
||||
%RaiseCode
|
||||
SIP_BLOCK_THREADS
|
||||
PyErr_SetString(sipException_QgsException, sipExceptionRef.what().toUtf8().constData() );
|
||||
SIP_UNBLOCK_THREADS
|
||||
%End
|
||||
};
|
||||
|
||||
|
||||
%Exception QgsProviderConnectionException(SIP_Exception) /PyName=QgsProviderConnectionException/
|
||||
{
|
||||
%TypeHeaderCode
|
||||
@ -70,3 +57,22 @@
|
||||
SIP_UNBLOCK_THREADS
|
||||
%End
|
||||
};
|
||||
|
||||
// IMPORTANT -- QgsException MUST be last listed, or it will greedily prevent the more
|
||||
// specialized exceptions from being raised
|
||||
|
||||
%Exception QgsException(SIP_Exception) /PyName=QgsException/
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsexception.h>
|
||||
%End
|
||||
%RaiseCode
|
||||
SIP_BLOCK_THREADS
|
||||
PyErr_SetString(sipException_QgsException, sipExceptionRef.what().toUtf8().constData() );
|
||||
SIP_UNBLOCK_THREADS
|
||||
%End
|
||||
};
|
||||
|
||||
// IMPORTANT -- QgsException MUST be last listed, or it will greedily prevent the more
|
||||
// specialized exceptions from being raised
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user