[Libreoffice-commits] core.git: accessibility/source avmedia/source basctl/source basic/source binaryurp/source chart2/source cli_ure/source codemaker/source comphelper/source configmgr/source connectivity/source cppuhelper/source cppu/qa cui/source dbaccess/source desktop/source desktop/test editeng/source embeddedobj/source extensions/source filter/qa filter/source forms/source framework/source include/toolkit io/source javaunohelper/source linguistic/source oox/source package/source reportdesign/source sax/source scripting/source sc/source sdext/source sd/source sfx2/source shell/source slideshow/source slideshow/test sot/source starmath/source stoc/source stoc/test svgio/source svl/source svtools/langsupport svtools/source svx/source svx/workben sw/source toolkit/source ucbhelper/source ucb/source unotools/source unoxml/source uui/source vcl/backendtest vcl/source vcl/unx vcl/workben writerfilter/source writerperfect/source xmlhelp/source xmloff/source xmlscript/source xmlscript/test xmlsecur ity/source xmlsecurity/workben

Noel Grandin noel.grandin at collabora.co.uk
Wed Oct 4 13:18:37 UTC 2017


 accessibility/source/extended/textwindowaccessibility.cxx      |    2 
 avmedia/source/framework/modeltools.cxx                        |    2 
 avmedia/source/viewer/mediawindow_impl.cxx                     |    3 
 basctl/source/basicide/scriptdocument.cxx                      |    2 
 basic/source/basmgr/basmgr.cxx                                 |    4 
 basic/source/classes/eventatt.cxx                              |    5 
 basic/source/uno/namecont.cxx                                  |    8 
 binaryurp/source/bridge.cxx                                    |   11 
 binaryurp/source/bridgefactory.cxx                             |    4 
 binaryurp/source/incomingrequest.cxx                           |    7 
 binaryurp/source/reader.cxx                                    |    2 
 binaryurp/source/writer.cxx                                    |    2 
 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx   |    8 
 chart2/source/controller/itemsetwrapper/ItemConverter.cxx      |    6 
 chart2/source/controller/main/ChartController.cxx              |    2 
 chart2/source/inc/macros.hxx                                   |    5 
 cli_ure/source/uno_bridge/cli_proxy.cxx                        |    2 
 codemaker/source/cppumaker/cpputype.cxx                        |   31 
 comphelper/source/container/embeddedobjectcontainer.cxx        |   14 
 comphelper/source/misc/documentinfo.cxx                        |    2 
 comphelper/source/misc/logging.cxx                             |    1 
 comphelper/source/misc/scopeguard.cxx                          |    2 
 comphelper/source/misc/threadpool.cxx                          |    2 
 comphelper/source/property/property.cxx                        |   15 
 configmgr/source/components.cxx                                |   15 
 connectivity/source/commontools/dbtools.cxx                    |    5 
 connectivity/source/cpool/ZPoolCollection.cxx                  |    4 
 connectivity/source/drivers/firebird/Blob.cxx                  |    2 
 connectivity/source/drivers/hsqldb/HStorageMap.cxx             |    2 
 connectivity/source/drivers/hsqldb/StorageFileAccess.cxx       |    4 
 connectivity/source/drivers/writer/WConnection.cxx             |    2 
 cppu/qa/cppumaker/test_cppumaker.cxx                           |   11 
 cppuhelper/source/component.cxx                                |    2 
 cppuhelper/source/component_context.cxx                        |    4 
 cppuhelper/source/implbase.cxx                                 |    4 
 cppuhelper/source/propshlp.cxx                                 |    6 
 cppuhelper/source/servicemanager.cxx                           |    5 
 cppuhelper/source/tdmgr.cxx                                    |    4 
 cppuhelper/source/weak.cxx                                     |    2 
 cui/source/customize/SvxToolbarConfigPage.cxx                  |    6 
 cui/source/customize/cfg.cxx                                   |    6 
 cui/source/customize/cfgutil.cxx                               |    2 
 cui/source/dialogs/linkdlg.cxx                                 |    2 
 cui/source/dialogs/scriptdlg.cxx                               |   10 
 cui/source/options/certpath.cxx                                |    6 
 cui/source/options/optaboutconfig.cxx                          |    2 
 cui/source/options/optgdlg.cxx                                 |    4 
 cui/source/options/optinet2.cxx                                |    2 
 cui/source/options/optjava.cxx                                 |    2 
 cui/source/options/optpath.cxx                                 |    4 
 cui/source/options/optsave.cxx                                 |    2 
 cui/source/options/optupdt.cxx                                 |    2 
 cui/source/options/treeopt.cxx                                 |    4 
 cui/source/options/tsaurls.cxx                                 |    2 
 dbaccess/source/core/api/RowSetCache.cxx                       |   12 
 dbaccess/source/core/dataaccess/databasedocument.cxx           |    2 
 dbaccess/source/filter/xml/xmlfilter.cxx                       |    2 
 dbaccess/source/ui/browser/sbagrid.cxx                         |    4 
 desktop/source/app/app.cxx                                     |   12 
 desktop/source/app/appinit.cxx                                 |    2 
 desktop/source/app/check_ext_deps.cxx                          |    2 
 desktop/source/app/dispatchwatcher.cxx                         |    7 
 desktop/source/app/langselect.cxx                              |    7 
 desktop/source/app/opencl.cxx                                  |    2 
 desktop/source/app/userinstall.cxx                             |    2 
 desktop/source/deployment/dp_log.cxx                           |    4 
 desktop/source/deployment/gui/dp_gui_dialog2.cxx               |    4 
 desktop/source/deployment/gui/dp_gui_theextmgr.cxx             |    2 
 desktop/source/deployment/manager/dp_informationprovider.cxx   |    8 
 desktop/source/deployment/manager/dp_manager.cxx               |   10 
 desktop/source/deployment/registry/component/dp_component.cxx  |    6 
 desktop/source/deployment/registry/dp_backend.cxx              |    4 
 desktop/source/deployment/registry/package/dp_package.cxx      |    4 
 desktop/source/lib/init.cxx                                    |    2 
 desktop/source/migration/migration.cxx                         |    8 
 desktop/source/migration/services/oo3extensionmigration.cxx    |    2 
 desktop/source/offacc/acceptor.cxx                             |    2 
 desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx                 |    2 
 desktop/test/deployment/active/active_native.cxx               |    2 
 editeng/source/editeng/impedit2.cxx                            |    2 
 editeng/source/misc/svxacorr.cxx                               |    2 
 editeng/source/xml/xmltxtexp.cxx                               |    2 
 embeddedobj/source/msole/oleembed.cxx                          |    3 
 embeddedobj/source/msole/olevisual.cxx                         |    4 
 embeddedobj/source/msole/ownview.cxx                           |    3 
 extensions/source/bibliography/datman.cxx                      |    4 
 extensions/source/config/ldap/ldapuserprofilebe.cxx            |    2 
 extensions/source/update/check/updatecheck.cxx                 |    4 
 extensions/source/update/check/updatecheckjob.cxx              |    4 
 extensions/source/update/feed/test/updatefeedtest.cxx          |    2 
 filter/qa/cppunit/xslt-test.cxx                                |    2 
 filter/source/config/cache/filtercache.cxx                     |    2 
 filter/source/config/cache/typedetection.cxx                   |    6 
 filter/source/msfilter/eschesdo.cxx                            |    2 
 filter/source/odfflatxml/OdfFlatXml.cxx                        |    4 
 filter/source/pdf/impdialog.cxx                                |    2 
 filter/source/svg/svgfilter.cxx                                |    2 
 filter/source/svg/test/svg2odf.cxx                             |    2 
 filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx            |    4 
 filter/source/xsltfilter/XSLTFilter.cxx                        |    4 
 forms/source/component/Edit.cxx                                |    2 
 forms/source/xforms/submission/replace.cxx                     |    2 
 framework/source/dispatch/servicehandler.cxx                   |    3 
 framework/source/fwi/jobs/configaccess.cxx                     |    2 
 framework/source/jobs/job.cxx                                  |    2 
 framework/source/services/sessionlistener.cxx                  |    6 
 framework/source/uielement/popuptoolbarcontroller.cxx          |    4 
 include/toolkit/helper/macros.hxx                              |    2 
 io/source/stm/opump.cxx                                        |   10 
 javaunohelper/source/bootstrap.cxx                             |    4 
 linguistic/source/gciterator.cxx                               |    5 
 oox/source/drawingml/shape.cxx                                 |    6 
 oox/source/drawingml/textfield.cxx                             |    2 
 oox/source/export/chartexport.cxx                              |   12 
 oox/source/export/shapes.cxx                                   |    8 
 oox/source/helper/propertyset.cxx                              |    4 
 oox/source/helper/zipstorage.cxx                               |   16 
 oox/source/ole/axcontrol.cxx                                   |   15 
 oox/source/ppt/timenode.cxx                                    |    6 
 oox/source/vml/vmldrawing.cxx                                  |    4 
 package/source/manifest/ManifestReader.cxx                     |    6 
 package/source/xstor/owriteablestream.cxx                      |   60 -
 package/source/xstor/xstorage.cxx                              |  426 +++++-----
 package/source/zipapi/XBufferedThreadedStream.cxx              |    6 
 package/source/zipapi/XUnbufferedStream.cxx                    |    2 
 package/source/zippackage/ZipPackageStream.cxx                 |    2 
 reportdesign/source/filter/xml/xmlfilter.cxx                   |    2 
 sax/source/fastparser/fastparser.cxx                           |    2 
 sc/source/filter/excel/xlroot.cxx                              |    2 
 sc/source/filter/oox/excelfilter.cxx                           |    2 
 sc/source/filter/xml/xmlwrap.cxx                               |   10 
 sc/source/ui/Accessibility/DrawModelBroadcaster.cxx            |    2 
 sc/source/ui/docshell/docsh8.cxx                               |    2 
 sc/source/ui/drawfunc/fuins2.cxx                               |    2 
 sc/source/ui/miscdlgs/solverutil.cxx                           |    2 
 sc/source/ui/unoobj/docuno.cxx                                 |    4 
 sc/source/ui/unoobj/exceldetect.cxx                            |    2 
 sc/source/ui/vba/vbachartobjects.cxx                           |    2 
 sc/source/ui/vba/vbarange.cxx                                  |    2 
 sc/source/ui/view/tabvwshb.cxx                                 |    2 
 scripting/source/protocolhandler/scripthandler.cxx             |    4 
 scripting/source/provider/BrowseNodeFactoryImpl.cxx            |    2 
 scripting/source/provider/MasterScriptProvider.cxx             |    5 
 scripting/source/vbaevents/eventhelper.cxx                     |    2 
 sd/source/core/stlsheet.cxx                                    |    2 
 sd/source/filter/xml/sdxmlwrp.cxx                              |   12 
 sd/source/helper/simplereferencecomponent.cxx                  |    2 
 sd/source/ui/tools/ConfigurationAccess.cxx                     |    2 
 sd/source/ui/unoidl/DrawController.cxx                         |    2 
 sd/source/ui/unoidl/unomodel.cxx                               |    2 
 sd/source/ui/view/drviewsa.cxx                                 |    2 
 sdext/source/minimizer/configurationaccess.cxx                 |    2 
 sdext/source/pdfimport/filterdet.cxx                           |    2 
 sdext/source/pdfimport/pdfiadaptor.cxx                         |    2 
 sdext/source/pdfimport/test/pdf2xml.cxx                        |    4 
 sdext/source/presenter/PresenterConfigurationAccess.cxx        |    4 
 sfx2/source/appl/appserv.cxx                                   |    8 
 sfx2/source/bastyp/helper.cxx                                  |    2 
 sfx2/source/control/thumbnailview.cxx                          |    6 
 sfx2/source/dialog/backingwindow.cxx                           |    2 
 sfx2/source/doc/SfxDocumentMetaData.cxx                        |    2 
 sfx2/source/doc/docfile.cxx                                    |    4 
 sfx2/source/doc/doctemplates.cxx                               |    2 
 sfx2/source/doc/guisaveas.cxx                                  |    6 
 sfx2/source/doc/objcont.cxx                                    |    2 
 sfx2/source/doc/objxtor.cxx                                    |    8 
 sfx2/source/sidebar/PanelTitleBar.cxx                          |    2 
 sfx2/source/sidebar/SidebarController.cxx                      |    2 
 sfx2/source/sidebar/Theme.cxx                                  |    3 
 sfx2/source/view/classificationhelper.cxx                      |    4 
 sfx2/source/view/ipclient.cxx                                  |    6 
 sfx2/source/view/viewsh.cxx                                    |    2 
 shell/source/backends/desktopbe/desktopbackend.cxx             |    2 
 shell/source/cmdmail/cmdmailsuppl.cxx                          |    2 
 slideshow/source/engine/activitiesqueue.cxx                    |    2 
 slideshow/source/engine/eventqueue.cxx                         |    2 
 slideshow/source/engine/rehearsetimingsactivity.cxx            |    2 
 slideshow/source/engine/shapes/viewappletshape.cxx             |    2 
 slideshow/source/engine/shapes/viewmediashape.cxx              |    2 
 slideshow/source/engine/shapesubset.cxx                        |    2 
 slideshow/source/engine/slide/userpaintoverlay.cxx             |    2 
 slideshow/source/engine/transitions/shapetransitionfactory.cxx |    2 
 slideshow/source/engine/usereventqueue.cxx                     |    2 
 slideshow/test/demoshow.cxx                                    |    6 
 sot/source/sdstor/ucbstorage.cxx                               |    6 
 starmath/source/mathmlexport.cxx                               |    2 
 starmath/source/mathmlimport.cxx                               |    2 
 starmath/source/smdetect.cxx                                   |    2 
 starmath/source/unofilter.cxx                                  |    2 
 stoc/source/javaloader/javaloader.cxx                          |    2 
 stoc/source/javavm/javavm.cxx                                  |    8 
 stoc/source/servicemanager/servicemanager.cxx                  |    6 
 stoc/test/javavm/testjavavm.cxx                                |    2 
 stoc/test/testconv.cxx                                         |    2 
 stoc/test/testcorefl.cxx                                       |    2 
 stoc/test/testintrosp.cxx                                      |    2 
 svgio/source/svguno/xsvgparser.cxx                             |    2 
 svl/source/config/itemholder2.cxx                              |    3 
 svtools/langsupport/langsupport.cxx                            |    4 
 svtools/source/config/accessibilityoptions.cxx                 |   24 
 svtools/source/config/itemholder2.cxx                          |    2 
 svtools/source/config/printoptions.cxx                         |   28 
 svtools/source/contnr/DocumentInfoPreview.cxx                  |    2 
 svtools/source/control/inettbc.cxx                             |   10 
 svtools/source/misc/embedhlp.cxx                               |   10 
 svtools/source/misc/imagemgr.cxx                               |    2 
 svx/source/core/extedit.cxx                                    |    2 
 svx/source/core/graphichelper.cxx                              |    2 
 svx/source/fmcomp/fmgridcl.cxx                                 |    3 
 svx/source/fmcomp/gridcell.cxx                                 |    2 
 svx/source/form/fmsrcimp.cxx                                   |    4 
 svx/source/gallery2/galtheme.cxx                               |    4 
 svx/source/gengal/gengal.cxx                                   |    4 
 svx/source/svdraw/svdmodel.cxx                                 |    2 
 svx/source/svdraw/svdomedia.cxx                                |    6 
 svx/source/svdraw/svdoole2.cxx                                 |    3 
 svx/workben/pixelctl.cxx                                       |    4 
 sw/source/core/access/accmap.cxx                               |    2 
 sw/source/core/edit/edundo.cxx                                 |    9 
 sw/source/core/layout/layact.cxx                               |    2 
 sw/source/core/tox/toxhlp.cxx                                  |   12 
 sw/source/core/view/viewimp.cxx                                |    2 
 sw/source/filter/docx/swdocxreader.cxx                         |    2 
 sw/source/filter/rtf/swparrtf.cxx                              |    2 
 sw/source/filter/writer/writer.cxx                             |    2 
 sw/source/filter/ww8/docxexport.cxx                            |    2 
 sw/source/filter/ww8/docxsdrexport.cxx                         |    2 
 sw/source/filter/ww8/rtfsdrexport.cxx                          |    2 
 sw/source/filter/ww8/ww8par.cxx                                |    2 
 sw/source/filter/ww8/ww8toolbar.cxx                            |    2 
 sw/source/filter/xml/swxml.cxx                                 |   10 
 sw/source/filter/xml/xmlfmt.cxx                                |    2 
 sw/source/ui/dbui/dbinsdlg.cxx                                 |    2 
 sw/source/ui/dbui/mmaddressblockpage.cxx                       |    2 
 sw/source/uibase/app/apphdl.cxx                                |    4 
 sw/source/uibase/config/StoredChapterNumbering.cxx             |    6 
 sw/source/uibase/dbui/dbmgr.cxx                                |   16 
 sw/source/uibase/dbui/mmconfigitem.cxx                         |    6 
 toolkit/source/awt/vclxtoolkit.cxx                             |    8 
 toolkit/source/controls/unocontrols.cxx                        |    4 
 ucb/source/core/provprox.cxx                                   |    2 
 ucb/source/ucp/expand/ucpexpand.cxx                            |    2 
 ucbhelper/source/client/content.cxx                            |    2 
 unotools/source/config/configitem.cxx                          |   45 -
 unotools/source/config/historyoptions.cxx                      |   18 
 unotools/source/config/itemholder1.cxx                         |    2 
 unotools/source/config/pathoptions.cxx                         |    2 
 unotools/source/config/useroptions.cxx                         |    6 
 unotools/source/i18n/calendarwrapper.cxx                       |   42 
 unotools/source/i18n/charclass.cxx                             |    4 
 unotools/source/i18n/localedatawrapper.cxx                     |   20 
 unotools/source/i18n/transliterationwrapper.cxx                |    8 
 unotools/source/misc/mediadescriptor.cxx                       |   19 
 unotools/source/ucbhelper/ucbhelper.cxx                        |   20 
 unoxml/source/dom/documentbuilder.cxx                          |   12 
 unoxml/source/dom/elementlist.cxx                              |    3 
 uui/source/logindlg.cxx                                        |    2 
 vcl/backendtest/VisualBackendTest.cxx                          |    2 
 vcl/source/app/session.cxx                                     |    3 
 vcl/source/app/svdata.cxx                                      |    4 
 vcl/source/app/svmain.cxx                                      |    2 
 vcl/source/gdi/gdimtf.cxx                                      |    3 
 vcl/source/gdi/vectorgraphicdata.cxx                           |    2 
 vcl/source/image/ImplImageTree.cxx                             |    6 
 vcl/source/window/builder.cxx                                  |    2 
 vcl/source/window/window.cxx                                   |    8 
 vcl/unx/gtk/gtksalframe.cxx                                    |    2 
 vcl/unx/gtk3/gtk3gtkframe.cxx                                  |    2 
 vcl/workben/mtfdemo.cxx                                        |    4 
 vcl/workben/outdevgrind.cxx                                    |    4 
 vcl/workben/svdem.cxx                                          |    2 
 vcl/workben/svpclient.cxx                                      |    4 
 vcl/workben/svptest.cxx                                        |    2 
 vcl/workben/vcldemo.cxx                                        |    4 
 writerfilter/source/dmapper/DomainMapper.cxx                   |    6 
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx       |    6 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx              |   20 
 writerfilter/source/dmapper/GraphicImport.cxx                  |    4 
 writerfilter/source/dmapper/ModelEventListener.cxx             |    2 
 writerfilter/source/dmapper/NumberingManager.cxx               |    6 
 writerfilter/source/dmapper/OLEHandler.cxx                     |    4 
 writerfilter/source/dmapper/PropertyMap.cxx                    |    4 
 writerfilter/source/dmapper/StyleSheetTable.cxx                |    4 
 writerfilter/source/dmapper/TableManager.cxx                   |    2 
 writerfilter/source/filter/RtfFilter.cxx                       |    2 
 writerfilter/source/filter/WriterFilter.cxx                    |    3 
 writerfilter/source/ooxml/OOXMLDocumentImpl.cxx                |   19 
 writerfilter/source/rtftok/rtfdocumentimpl.cxx                 |    2 
 writerperfect/source/writer/MSWorksImportFilter.cxx            |    2 
 xmlhelp/source/cxxhelp/provider/resultsetforquery.cxx          |    2 
 xmloff/source/chart/SchXMLChartContext.cxx                     |    6 
 xmloff/source/chart/SchXMLExport.cxx                           |   28 
 xmloff/source/chart/SchXMLImport.cxx                           |    7 
 xmloff/source/chart/SchXMLPlotAreaContext.cxx                  |   12 
 xmloff/source/chart/SchXMLSeries2Context.cxx                   |   10 
 xmloff/source/chart/SchXMLSeriesHelper.cxx                     |    6 
 xmloff/source/chart/SchXMLTools.cxx                            |    6 
 xmloff/source/core/DocumentSettingsContext.cxx                 |    2 
 xmloff/source/draw/animationexport.cxx                         |    2 
 xmloff/source/draw/shapeexport.cxx                             |    7 
 xmloff/source/draw/shapeimport.cxx                             |    2 
 xmloff/source/forms/officeforms.cxx                            |    2 
 xmloff/source/style/XMLFontAutoStylePool.cxx                   |    2 
 xmloff/source/text/XMLTextFrameContext.cxx                     |    4 
 xmloff/source/text/txtparai.cxx                                |    2 
 xmlscript/source/xmlflat_imexp/xmlbas_export.cxx               |    8 
 xmlscript/source/xmlflat_imexp/xmlbas_import.cxx               |   14 
 xmlscript/test/imexp.cxx                                       |    8 
 xmlsecurity/source/helper/documentsignaturehelper.cxx          |    2 
 xmlsecurity/source/helper/pdfsignaturehelper.cxx               |    2 
 xmlsecurity/source/helper/xmlsignaturehelper.cxx               |    2 
 xmlsecurity/source/xmlsec/nss/nssinitializer.cxx               |    4 
 xmlsecurity/workben/pdfverify.cxx                              |    4 
 313 files changed, 958 insertions(+), 1042 deletions(-)

New commits:
commit 2c05d758b2b62c9df413e2514fb3cd233d0f3ec7
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Fri Sep 29 16:21:54 2017 +0200

    add << operator for css::uno::Exception
    
    Change-Id: Ia23dafd07133779144965682df3b7125a3214235
    Reviewed-on: https://gerrit.libreoffice.org/43046
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx
index dcf95d8211f6..3a1d4860292d 100644
--- a/accessibility/source/extended/textwindowaccessibility.cxx
+++ b/accessibility/source/extended/textwindowaccessibility.cxx
@@ -266,7 +266,7 @@ void SAL_CALL Paragraph::grabFocus()
     {
         SAL_INFO("accessibility",
                  "textwindowaccessibility.cxx: Paragraph::grabFocus: caught unexpected "
-                 << rEx.Message);
+                 << rEx);
     }
 }
 
diff --git a/avmedia/source/framework/modeltools.cxx b/avmedia/source/framework/modeltools.cxx
index 729d19298446..8addb30967e5 100644
--- a/avmedia/source/framework/modeltools.cxx
+++ b/avmedia/source/framework/modeltools.cxx
@@ -159,7 +159,7 @@ static void lcl_EmbedExternals(const OUString& rSourceURL, const uno::Reference<
     }
     catch (uno::Exception const& e)
     {
-        SAL_WARN("avmedia.opengl", "Exception: '" << e.Message << "'");
+        SAL_WARN("avmedia.opengl", e);
         return;
     }
 
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index 4ddb201ee72a..d5bc7a50ef63 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -251,8 +251,7 @@ uno::Reference< media::XPlayer > MediaWindowImpl::createPlayer(
             SAL_INFO( "avmedia", "failed to create media player service " << rManagerServName );
     } catch ( const uno::Exception &e )
     {
-        SAL_WARN( "avmedia", "couldn't create media player " << rManagerServName
-                              << ", exception '" << e.Message << '\'');
+        SAL_WARN( "avmedia", "couldn't create media player " << rManagerServName << ", " << e);
     }
     return xPlayer;
 }
diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx
index 5bbbc0a9ee1a..1b1d720b6e17 100644
--- a/basctl/source/basicide/scriptdocument.cxx
+++ b/basctl/source/basicide/scriptdocument.cxx
@@ -413,7 +413,7 @@ namespace basctl
         }
         catch (const css::ucb::ContentCreationException& e)
         {
-            SAL_WARN( "basctl.basicide", "ScriptDocument::getBasicManager: Caught exception: " << e.Message );
+            SAL_WARN( "basctl.basicide", "ScriptDocument::getBasicManager: Caught exception: " << e );
         }
         return nullptr;
     }
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index 2342510bbd54..211daeb8ccfa 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -1141,7 +1141,7 @@ bool BasicManager::RemoveLib( sal_uInt16 nLib, bool bDelBasicFromStorage )
         }
         catch (const css::ucb::ContentCreationException& e)
         {
-            SAL_WARN("basic", "BasicManager::RemoveLib: Caught exception: " << e.Message);
+            SAL_WARN("basic", "BasicManager::RemoveLib: " << e);
         }
 
         if (xStorage.is() && xStorage->IsStorage(szBasicStorage))
@@ -1328,7 +1328,7 @@ StarBASIC* BasicManager::CreateLib( const OUString& rLibName, const OUString& Pa
             }
             catch (const css::ucb::ContentCreationException& e)
             {
-                SAL_WARN("basic", "BasicManager::RemoveLib: Caught exception: " << e.Message);
+                SAL_WARN("basic", "BasicManager::RemoveLib: " << e);
             }
             DBG_ASSERT( pLib, "XML Import: Linked basic library could not be loaded");
         }
diff --git a/basic/source/classes/eventatt.cxx b/basic/source/classes/eventatt.cxx
index 7dc252a9d58b..e7003e7eb550 100644
--- a/basic/source/classes/eventatt.cxx
+++ b/basic/source/classes/eventatt.cxx
@@ -51,6 +51,7 @@
 #include <eventatt.hxx>
 
 #include <cppuhelper/implbase.hxx>
+
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::script;
@@ -117,11 +118,11 @@ void SFURL_firing_impl( const ScriptEvent& aScriptEvent, Any* pRet, const Refere
         }
         catch ( const RuntimeException& re )
         {
-            SAL_INFO("basic", "Caught RuntimeException reason " << re.Message);
+            SAL_INFO("basic", "Caught RuntimeException reason " << re);
         }
         catch ( const Exception& e )
         {
-            SAL_INFO("basic", "Caught Exception reason " << e.Message);
+            SAL_INFO("basic", "Caught Exception reason " << e);
         }
 
 }
diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx
index 64de45125e2b..fb26916676f6 100644
--- a/basic/source/uno/namecont.cxx
+++ b/basic/source/uno/namecont.cxx
@@ -421,7 +421,7 @@ BasicManager* SfxLibraryContainer::getBasicManager()
     }
     catch (const css::ucb::ContentCreationException& e)
     {
-        SAL_WARN( "basic", "SfxLibraryContainer::getBasicManager : Caught exception: " << e.Message );
+        SAL_WARN( "basic", "SfxLibraryContainer::getBasicManager: " << e );
     }
     return mpBasMgr;
 }
@@ -808,12 +808,12 @@ void SfxLibraryContainer::init_Impl( const OUString& rInitialDocumentURL,
             }
             catch ( const xml::sax::SAXException& e )
             {
-                SAL_WARN("basic", e.Message);
+                SAL_WARN("basic", e);
                 return;
             }
             catch ( const io::IOException& e )
             {
-                SAL_WARN("basic", e.Message);
+                SAL_WARN("basic", e);
                 return;
             }
 
@@ -1177,7 +1177,7 @@ void SfxLibraryContainer::init_Impl( const OUString& rInitialDocumentURL,
         catch(const Exception& e)
         {
             bCleanUp = true;
-            SAL_WARN("basic", "Upgrade of Basic installation failed somehow: " << e.Message);
+            SAL_WARN("basic", "Upgrade of Basic installation failed somehow: " << e);
         }
 
         // #i93163
diff --git a/binaryurp/source/bridge.cxx b/binaryurp/source/bridge.cxx
index 9a02085b3182..a31722418864 100644
--- a/binaryurp/source/bridge.cxx
+++ b/binaryurp/source/bridge.cxx
@@ -296,7 +296,7 @@ void Bridge::terminate(bool final) {
         try {
             connection_->close();
         } catch (const css::io::IOException & e) {
-            SAL_INFO("binaryurp", "caught IO exception '" << e.Message << '\'');
+            SAL_INFO("binaryurp", "caught IO exception '" << e << '\'');
         }
         assert(w.is());
         w->stop();
@@ -331,9 +331,7 @@ void Bridge::terminate(bool final) {
                     css::lang::EventObject(
                         static_cast< cppu::OWeakObject * >(this)));
             } catch (const css::uno::RuntimeException & e) {
-                SAL_WARN(
-                    "binaryurp",
-                    "caught runtime exception '" << e.Message << '\'');
+                SAL_WARN("binaryurp", "caught " << e);
             }
         }
     }
@@ -532,7 +530,7 @@ void Bridge::freeProxy(Proxy & proxy) {
         makeReleaseCall(proxy.getOid(), proxy.getType());
     } catch (const css::uno::RuntimeException & e) {
         SAL_INFO(
-            "binaryurp", "caught runtime exception '" << e.Message << '\'');
+            "binaryurp", "caught runtime exception '" << e << '\'');
     } catch (const std::exception & e) {
         SAL_WARN("binaryurp", "caught C++ exception '" << e.what() << '\'');
     }
@@ -642,8 +640,7 @@ void Bridge::handleRequestChangeReply(
         }
         SAL_WARN(
             "binaryurp",
-            "requestChange caught RuntimeException \'" << e.Message
-                << "' in state 'requested'");
+            "requestChange caught " << e << " in state 'requested'");
         mode_ = MODE_NORMAL;
         getWriter()->unblock();
         decrementCalls();
diff --git a/binaryurp/source/bridgefactory.cxx b/binaryurp/source/bridgefactory.cxx
index fdf80873ac2b..b531910403e7 100644
--- a/binaryurp/source/bridgefactory.cxx
+++ b/binaryurp/source/bridgefactory.cxx
@@ -183,7 +183,7 @@ void BridgeFactory::disposing() {
             css::uno::Reference<css::lang::XComponent>(
                 *i, css::uno::UNO_QUERY_THROW)->dispose();
         } catch (css::uno::Exception & e) {
-            SAL_WARN("binaryurp", "ignoring Exception " << e.Message);
+            SAL_WARN("binaryurp", "ignoring " << e);
         }
     }
     for (BridgeMap::iterator i(l2.begin()); i != l2.end(); ++i) {
@@ -191,7 +191,7 @@ void BridgeFactory::disposing() {
             css::uno::Reference<css::lang::XComponent>(
                 i->second, css::uno::UNO_QUERY_THROW)->dispose();
         } catch (css::uno::Exception & e) {
-            SAL_WARN("binaryurp", "ignoring Exception " << e.Message);
+            SAL_WARN("binaryurp", "ignoring " << e);
         }
     }
 }
diff --git a/binaryurp/source/incomingrequest.cxx b/binaryurp/source/incomingrequest.cxx
index 9043b22daadf..2a94ed2c7611 100644
--- a/binaryurp/source/incomingrequest.cxx
+++ b/binaryurp/source/incomingrequest.cxx
@@ -102,7 +102,7 @@ void IncomingRequest::execute() const {
                 tid_, member_, setter_, isExc, ret, outArgs, false);
             return;
         } catch (const css::uno::RuntimeException & e) {
-            SAL_INFO("binaryurp", "caught UNO runtime exception " << e.Message);
+            SAL_INFO("binaryurp", "caught " << e);
         } catch (const std::exception & e) {
             SAL_INFO("binaryurp", "caught C++ exception " << e.what());
         }
@@ -146,10 +146,7 @@ bool IncomingRequest::execute_throw(
                 try {
                     ifc = prov->getInstance(oid_);
                 } catch (const css::container::NoSuchElementException & e) {
-                    SAL_INFO(
-                        "binaryurp",
-                        "initial element " << oid_
-                            << ": NoSuchElementException " << e.Message);
+                    SAL_INFO("binaryurp", "initial element " << oid_ << ": " << e);
                 }
             }
             if (ifc.is()) {
diff --git a/binaryurp/source/reader.cxx b/binaryurp/source/reader.cxx
index 75c3a1f7d467..b50d3d50c187 100644
--- a/binaryurp/source/reader.cxx
+++ b/binaryurp/source/reader.cxx
@@ -120,7 +120,7 @@ void Reader::execute() {
             block.done();
         }
     } catch (const css::uno::Exception & e) {
-        SAL_WARN("binaryurp", "caught UNO exception '" << e.Message << '\'');
+        SAL_WARN("binaryurp", "caught UNO exception '" << e << '\'');
     } catch (const std::exception & e) {
         SAL_WARN("binaryurp", "caught C++ exception '" << e.what() << '\'');
     }
diff --git a/binaryurp/source/writer.cxx b/binaryurp/source/writer.cxx
index ba79ee096d55..9c71763c738d 100644
--- a/binaryurp/source/writer.cxx
+++ b/binaryurp/source/writer.cxx
@@ -180,7 +180,7 @@ void Writer::execute() {
             }
         }
     } catch (const css::uno::Exception & e) {
-        SAL_INFO("binaryurp", "caught UNO exception " << e.Message);
+        SAL_INFO("binaryurp", "caught " << e);
     } catch (const std::exception & e) {
         SAL_INFO("binaryurp", "caught C++ exception " << e.what());
     }
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 7f9d4fe106c6..d1dca8371e59 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -141,7 +141,7 @@ namespace
             }
             catch( const uno::Exception & ex )
             {
-                SAL_WARN( "chart2", "Property Exception caught. Message: " << ex.Message);
+                SAL_WARN( "chart2", "Property Exception caught. Message: " << ex);
             }
         }
         return aResult;
@@ -167,7 +167,7 @@ namespace
             }
             catch( const uno::Exception & ex )
             {
-                SAL_WARN( "chart2", "Property Exception caught. Message: " << ex.Message);
+                SAL_WARN( "chart2", "Property Exception caught. Message: " << ex);
             }
         }
     }
@@ -182,7 +182,7 @@ namespace
         }
         catch( const uno::Exception & ex )
         {
-            SAL_WARN( "chart2", "Property Exception caught. Message: " << ex.Message);
+            SAL_WARN( "chart2", "Property Exception caught. Message: " << ex);
         }
         return Color( nResult );
     }
@@ -198,7 +198,7 @@ namespace
         }
         catch( const uno::Exception & ex )
         {
-            SAL_WARN( "chart2", "Property Exception caught. Message: " << ex.Message);
+            SAL_WARN( "chart2", "Property Exception caught. Message: " << ex);
         }
     }
 }
diff --git a/chart2/source/controller/itemsetwrapper/ItemConverter.cxx b/chart2/source/controller/itemsetwrapper/ItemConverter.cxx
index fe339e917399..aa4747728b18 100644
--- a/chart2/source/controller/itemsetwrapper/ItemConverter.cxx
+++ b/chart2/source/controller/itemsetwrapper/ItemConverter.cxx
@@ -118,7 +118,7 @@ void ItemConverter::FillItemSet( SfxItemSet & rOutItemSet ) const
                     catch( const beans::UnknownPropertyException &ex )
                     {
                         delete pItem;
-                        SAL_WARN( "chart2", ex.Message << " - unknown Property: " << aProperty.first);
+                        SAL_WARN( "chart2", ex << " - unknown Property: " << aProperty.first);
                     }
                     catch( const uno::Exception &ex )
                     {
@@ -182,11 +182,11 @@ bool ItemConverter::ApplyItemSet( const SfxItemSet & rItemSet )
                 }
                 catch( const beans::UnknownPropertyException &ex )
                 {
-                    SAL_WARN( "chart2", ex.Message << " - unknown Property: " << aProperty.first);
+                    SAL_WARN( "chart2", ex << " - unknown Property: " << aProperty.first);
                 }
                 catch( const uno::Exception &ex )
                 {
-                    SAL_WARN( "chart2", ex.Message );
+                    SAL_WARN( "chart2", ex );
                 }
             }
             else
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index e660dfb24be7..9cd74635a90a 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -215,7 +215,7 @@ void ChartController::TheModel::tryTermination()
     }
     catch(const uno::Exception& ex)
     {
-        SAL_WARN( "chart2", "Termination of model failed: " << ex.Message );
+        SAL_WARN( "chart2", "Termination of model failed: " << ex );
     }
 }
 
diff --git a/chart2/source/inc/macros.hxx b/chart2/source/inc/macros.hxx
index daf66c45b9a2..6b435c71c6f8 100644
--- a/chart2/source/inc/macros.hxx
+++ b/chart2/source/inc/macros.hxx
@@ -25,10 +25,7 @@
 
 #include "sal/log.hxx"
 
-#define ASSERT_EXCEPTION(ex)                   \
-  SAL_WARN("chart2", "Exception caught. Type: " <<\
-    typeid( ex ).name() << ", Message: " << \
-    ex.Message )
+#define ASSERT_EXCEPTION(ex)  SAL_WARN("chart2", "Exception caught. " << ex )
 
 #endif
 
diff --git a/cli_ure/source/uno_bridge/cli_proxy.cxx b/cli_ure/source/uno_bridge/cli_proxy.cxx
index 453880298485..9225c9bf3272 100644
--- a/cli_ure/source/uno_bridge/cli_proxy.cxx
+++ b/cli_ure/source/uno_bridge/cli_proxy.cxx
@@ -1096,7 +1096,7 @@ void SAL_CALL cli_proxy_dispatch(
             css::uno::XInterface >() );
         css::uno::Type const & exc_type = cppu::UnoType<decltype(exc)>::get();
         uno_type_any_construct( *uno_exc, &exc, exc_type.getTypeLibType(), 0);
-        SAL_WARN( "cli", exc.Message);
+        SAL_WARN( "cli", exc);
     }
 }
 
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 28efa3fbf1f9..dafbe682fd8b 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -2738,7 +2738,18 @@ void ExceptionType::dumpHppFile(
     out << "\n";
     addDefaultHxxIncludes(includes);
     includes.dump(out, &name_, true);
+
+    // for the output operator below
+    if (name_ == "com.sun.star.uno.Exception")
+    {
+        out << "#if defined LIBO_INTERNAL_ONLY\n";
+        out << "#include <ostream>\n";
+        out << "#include <typeinfo>\n";
+        out << "#endif\n";
+    }
+
     out << "\n";
+
     if (codemaker::cppumaker::dumpNamespaceOpen(out, name_, false)) {
         out << "\n";
     }
@@ -2837,10 +2848,30 @@ void ExceptionType::dumpHppFile(
     out << indent() << "return *this;\n";
     dec();
     out << indent() << "}\n#endif\n\n";
+
+    // Provide an output operator for printing Exception information to SAL_WARN/SAL_INFO.
+    if (name_ == "com.sun.star.uno.Exception")
+    {
+        out << "#if defined LIBO_INTERNAL_ONLY\n";
+        out << "template< typename charT, typename traits >\n";
+        out << "inline ::std::basic_ostream<charT, traits> & operator<<(\n";
+        out << "    ::std::basic_ostream<charT, traits> & os, ::com::sun::star::uno::Exception const & exception)\n";
+        out << "{\n";
+        out << "    // the class name is useful because exception throwing code does not always pass in a useful message\n";
+        out << "    os << typeid(exception).name();\n";
+        out << "    if (!exception.Message.isEmpty())\n";
+        out << "      os << \" msg: \" << exception.Message;\n";
+        out << "    return os;\n";
+        out << "}\n";
+        out << "#endif\n";
+        out << "\n";
+    }
+
     if (codemaker::cppumaker::dumpNamespaceClose(out, name_, false)) {
         out << "\n";
     }
     out << "\n";
+
     dumpGetCppuType(out);
     out << "\n#endif // "<< headerDefine << "\n";
 }
diff --git a/comphelper/source/container/embeddedobjectcontainer.cxx b/comphelper/source/container/embeddedobjectcontainer.cxx
index 530872c1a714..a3fce00e1c7b 100644
--- a/comphelper/source/container/embeddedobjectcontainer.cxx
+++ b/comphelper/source/container/embeddedobjectcontainer.cxx
@@ -358,7 +358,7 @@ uno::Reference<embed::XEmbeddedObject> EmbeddedObjectContainer::Get_Impl(
     }
     catch (uno::Exception const& e)
     {
-        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::Get_Impl: exception caught: " << e.Message);
+        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::Get_Impl: exception caught: " << e);
     }
 
     return xObj;
@@ -399,7 +399,7 @@ uno::Reference < embed::XEmbeddedObject > EmbeddedObjectContainer::CreateEmbedde
     }
     catch (uno::Exception const& e)
     {
-        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::CreateEmbeddedObject: exception caught: " << e.Message);
+        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::CreateEmbeddedObject: exception caught: " << e);
     }
 
     return xObj;
@@ -511,7 +511,7 @@ bool EmbeddedObjectContainer::StoreEmbeddedObject(
     }
     catch (uno::Exception const& e)
     {
-        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::StoreEmbeddedObject: exception caught: " << e.Message);
+        SAL_WARN("comphelper.container", "EmbeddedObjectContainer::StoreEmbeddedObject: exception caught: " << e);
         // TODO/LATER: better error recovery should keep storage intact
         return false;
     }
@@ -572,7 +572,7 @@ uno::Reference < embed::XEmbeddedObject > EmbeddedObjectContainer::InsertEmbedde
         catch (uno::Exception const& e)
         {
             // complete disaster!
-            SAL_WARN("comphelper.container", "EmbeddedObjectContainer::InsertEmbeddedObject: exception caught: " << e.Message);
+            SAL_WARN("comphelper.container", "EmbeddedObjectContainer::InsertEmbeddedObject: exception caught: " << e);
             return uno::Reference < embed::XEmbeddedObject >();
         }
     }
@@ -657,7 +657,7 @@ uno::Reference < embed::XEmbeddedObject > EmbeddedObjectContainer::InsertEmbedde
     catch (uno::Exception const& e)
     {
         SAL_WARN("comphelper.container", "EmbeddedObjectContainer::InsertEmbeddedLink: "
-                "exception caught: " << e.Message);
+                "exception caught: " << e);
     }
 
     return xObj;
@@ -1126,7 +1126,7 @@ uno::Reference < io::XInputStream > EmbeddedObjectContainer::GetGraphicStream( c
         catch (uno::Exception const& e)
         {
             SAL_INFO("comphelper.container",
-                "EmbeddedObjectContainer::GetGraphicStream(): exception: " << e.Message);
+                "EmbeddedObjectContainer::GetGraphicStream(): " << e);
         }
     }
 
@@ -1348,7 +1348,7 @@ bool EmbeddedObjectContainer::StoreAsChildren(bool _bOasisFormat,bool _bCreateEm
     {
         // TODO/LATER: error handling
         bResult = false;
-        SAL_WARN("comphelper.container", "failed. Message: " << e.Message);
+        SAL_WARN("comphelper.container", "failed. Message: " << e);
     }
 
     // the old SO6 format does not store graphical replacements
diff --git a/comphelper/source/misc/documentinfo.cxx b/comphelper/source/misc/documentinfo.cxx
index e309da6d74ed..b63450590554 100644
--- a/comphelper/source/misc/documentinfo.cxx
+++ b/comphelper/source/misc/documentinfo.cxx
@@ -150,7 +150,7 @@ namespace comphelper {
             css::uno::Exception exception;
             caught >>= exception;
             SAL_WARN( "comphelper", "caught an exception!\ntype   : " << caught.getValueTypeName()
-                                    << "\nmessage: " << exception.Message
+                                    << "\nmessage: " << exception
                                     << "\nin function:\n" << OSL_THIS_FUNC);
         }
 
diff --git a/comphelper/source/misc/logging.cxx b/comphelper/source/misc/logging.cxx
index 3744d9580727..e08d9d540a99 100644
--- a/comphelper/source/misc/logging.cxx
+++ b/comphelper/source/misc/logging.cxx
@@ -164,5 +164,4 @@ namespace comphelper
     }
 } // namespace comphelper
 
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/comphelper/source/misc/scopeguard.cxx b/comphelper/source/misc/scopeguard.cxx
index 2224c0993fff..d1f48f959fd2 100644
--- a/comphelper/source/misc/scopeguard.cxx
+++ b/comphelper/source/misc/scopeguard.cxx
@@ -32,7 +32,7 @@ ScopeGuard::~ScopeGuard()
         m_func();
     }
     catch (css::uno::Exception & exc) {
-        SAL_WARN( "comphelper", "UNO exception occurred: " << exc.Message );
+        SAL_WARN( "comphelper", "UNO exception occurred: " << exc );
     }
     catch (...) {
         OSL_FAIL( "unknown exception occurred!" );
diff --git a/comphelper/source/misc/threadpool.cxx b/comphelper/source/misc/threadpool.cxx
index 7368544a14b1..23e363213206 100644
--- a/comphelper/source/misc/threadpool.cxx
+++ b/comphelper/source/misc/threadpool.cxx
@@ -268,7 +268,7 @@ void ThreadTask::execAndDelete()
     }
     catch (const css::uno::Exception &e)
     {
-        SAL_WARN("comphelper", "exception in thread worker while calling doWork(): " << e.Message);
+        SAL_WARN("comphelper", "exception in thread worker while calling doWork(): " << e);
     }
 
     delete this;
diff --git a/comphelper/source/property/property.cxx b/comphelper/source/property/property.cxx
index 5e3fd29dc01b..f5e369808d2a 100644
--- a/comphelper/source/property/property.cxx
+++ b/comphelper/source/property/property.cxx
@@ -32,7 +32,7 @@
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/uno/genfunc.h>
-
+#include <rtl/ustrbuf.hxx>
 #include <algorithm>
 
 
@@ -90,15 +90,15 @@ void copyProperties(const Reference<XPropertySet>& _rxSource,
             catch (Exception&)
             {
 #if OSL_DEBUG_LEVEL > 0
-                OStringBuffer aBuffer;
+                OUStringBuffer aBuffer;
                 aBuffer.append( "::comphelper::copyProperties: could not copy property '" );
-                aBuffer.append( OString( pSourceProps->Name.getStr(), pSourceProps->Name.getLength(), RTL_TEXTENCODING_ASCII_US ) );
+                aBuffer.append( pSourceProps->Name );
                 aBuffer.append( "' to the destination set (a '" );
 
                 Reference< XServiceInfo > xSI( _rxDest, UNO_QUERY );
                 if ( xSI.is() )
                 {
-                    aBuffer.append( OUStringToOString( xSI->getImplementationName(), osl_getThreadTextEncoding() ) );
+                    aBuffer.append( xSI->getImplementationName() );
                 }
                 else
                 {
@@ -108,20 +108,19 @@ void copyProperties(const Reference<XPropertySet>& _rxSource,
 
                 Any aException( ::cppu::getCaughtException() );
                 aBuffer.append( "Caught an exception of type '" );
-                OUString sExceptionType( aException.getValueTypeName() );
-                aBuffer.append( OString( sExceptionType.getStr(), sExceptionType.getLength(), RTL_TEXTENCODING_ASCII_US ) );
+                aBuffer.append( aException.getValueTypeName() );
                 aBuffer.append( "'" );
 
                 Exception aBaseException;
                 if ( ( aException >>= aBaseException ) && !aBaseException.Message.isEmpty() )
                 {
                     aBuffer.append( ", saying '" );
-                    aBuffer.append( OString( aBaseException.Message.getStr(), aBaseException.Message.getLength(), osl_getThreadTextEncoding() ) );
+                    aBuffer.append( aBaseException.Message );
                     aBuffer.append( "'" );
                 }
                 aBuffer.append( "." );
 
-                OSL_FAIL( aBuffer.getStr() );
+                SAL_WARN( "comphelper", aBuffer.makeStringAndClear() );
 #endif
             }
         }
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 19516773173a..3b4111bc0fb9 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -186,9 +186,7 @@ void Components::WriteThread::execute() {
             writeModFile(components_, url_, data_);
         } catch (css::uno::RuntimeException & e) {
             // Ignore write errors, instead of aborting:
-            SAL_WARN(
-                "configmgr",
-                "error writing modifications: \"" << e.Message << '"');
+            SAL_WARN("configmgr", "error writing modifications: " << e);
         }
     } catch (...) {
         reference_->clear();
@@ -404,8 +402,7 @@ void Components::insertModificationXcuFile(
     } catch (css::container::NoSuchElementException & e) {
         SAL_WARN(
             "configmgr",
-            "error inserting non-existing \"" << fileUri << "\": \""
-                << e.Message << '"');
+            "error inserting non-existing \"" << fileUri << "\": " << e);
     }
 }
 
@@ -433,8 +430,7 @@ css::beans::Optional< css::uno::Any > Components::getExternalValue(
             // installed:
             SAL_WARN(
                 "configmgr",
-                "createInstance(" << name << ") failed with \"" << e.Message
-                    << '"');
+                "createInstance(" << name << ") failed with " << e);
         }
         css::uno::Reference< css::beans::XPropertySet > propset;
         if (service.is()) {
@@ -662,7 +658,7 @@ void Components::parseFileLeniently(
         // starting:
         SAL_WARN(
             "configmgr",
-            "error reading \"" << url << "\": \"" << e.Message << '"');
+            "error reading \"" << url << "\": " << e);
     }
 }
 
@@ -731,8 +727,7 @@ void Components::parseFileList(
             try {
                 parseFileLeniently(parseFile, url, layer, nullptr, nullptr, adds);
             } catch (css::container::NoSuchElementException & e) {
-                SAL_WARN(
-                    "configmgr", "file does not exist: \"" << e.Message << '"');
+                SAL_WARN("configmgr", "file does not exist: " << e);
                 if (adds != nullptr) {
                     data_.removeExtensionXcuAdditions(url);
                 }
diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx
index 445d0e639275..08770018bbfd 100644
--- a/connectivity/source/commontools/dbtools.cxx
+++ b/connectivity/source/commontools/dbtools.cxx
@@ -974,7 +974,7 @@ try
                 catch(IllegalArgumentException const & exc)
                 {
                     SAL_WARN( "connectivity.commontools", "TransferFormComponentProperties : could not transfer the value for property \""
-                                << pResult->Name << "\" " << exc.Message);
+                                << pResult->Name << "\" " << exc);
                 }
             }
         }
@@ -1972,8 +1972,7 @@ void release(oslInterlockedCount& _refCount,
                 _pObject->dispose();
             } catch (css::uno::RuntimeException & e) {
                 SAL_WARN(
-                    "connectivity.commontools",
-                    "Caught exception during dispose, " << e.Message);
+                    "connectivity.commontools", "Caught exception during dispose, " << e);
             }
 
             // only the alive ref holds the object
diff --git a/connectivity/source/cpool/ZPoolCollection.cxx b/connectivity/source/cpool/ZPoolCollection.cxx
index 811be298bb07..313ee07246ef 100644
--- a/connectivity/source/cpool/ZPoolCollection.cxx
+++ b/connectivity/source/cpool/ZPoolCollection.cxx
@@ -386,9 +386,7 @@ Any OPoolCollection::getNodeValue(const OUString& _rPath,const Reference<XInterf
     }
     catch(NoSuchElementException& e)
     {
-        SAL_WARN("connectivity.cpool", "::getNodeValue: caught a "
-                 "NoSuchElementException while trying to open " <<
-                 e.Message << "!" );
+        SAL_WARN("connectivity.cpool", e );
     }
     return aReturn;
 }
diff --git a/connectivity/source/drivers/firebird/Blob.cxx b/connectivity/source/drivers/firebird/Blob.cxx
index b71c8844cb72..0cd5697992fd 100644
--- a/connectivity/source/drivers/firebird/Blob.cxx
+++ b/connectivity/source/drivers/firebird/Blob.cxx
@@ -125,7 +125,7 @@ void SAL_CALL Blob::disposing()
     catch (SQLException &e)
     {
         // we cannot throw any exceptions here...
-        SAL_WARN("connectivity.firebird", "isc_close_blob failed " << e.Message);
+        SAL_WARN("connectivity.firebird", "isc_close_blob failed " << e);
         assert(false);
     }
     Blob_BASE::disposing();
diff --git a/connectivity/source/drivers/hsqldb/HStorageMap.cxx b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
index 4f53c25fc35c..d93fbb363d8a 100644
--- a/connectivity/source/drivers/hsqldb/HStorageMap.cxx
+++ b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
@@ -352,7 +352,7 @@ namespace connectivity
         {
             if (env->ExceptionCheck())
                 env->ExceptionClear();
-            SAL_WARN("connectivity.hsqldb", "forwarding Exception: " << _aException.Message );
+            SAL_WARN("connectivity.hsqldb", "forwarding Exception: " << _aException );
             OString cstr( OUStringToOString(_aException.Message, RTL_TEXTENCODING_JAVA_UTF8 ) );
             env->ThrowNew(env->FindClass("java/io/IOException"), cstr.getStr());
         }
diff --git a/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx b/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
index ef9a3304534e..769cea7001df 100644
--- a/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
+++ b/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
@@ -80,7 +80,7 @@ extern "C" SAL_JNI_EXPORT jboolean JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_S
             OSL_FAIL("Exception caught! : Java_com_sun_star_sdbcx_comp_hsqldb_StorageFileAccess_isStreamElement");
             if (env->ExceptionCheck())
                 env->ExceptionClear();
-            SAL_WARN("connectivity.hsqldb", "forwarding Exception: " << e.Message);
+            SAL_WARN("connectivity.hsqldb", "forwarding Exception: " << e);
         }
     }
     return JNI_FALSE;
@@ -116,7 +116,7 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_Stora
         }
         catch(const Exception& e)
         {
-            SAL_WARN("connectivity.hsqldb", "Exception caught! : Java_com_sun_star_sdbcx_comp_hsqldb_StorageFileAccess_removeElement " << e.Message);
+            SAL_WARN("connectivity.hsqldb", "Exception caught! : Java_com_sun_star_sdbcx_comp_hsqldb_StorageFileAccess_removeElement " << e);
             StorageContainer::throwJavaException(e,env);
         }
     }
diff --git a/connectivity/source/drivers/writer/WConnection.cxx b/connectivity/source/drivers/writer/WConnection.cxx
index 70fae3a0d04f..0a4763e43618 100644
--- a/connectivity/source/drivers/writer/WConnection.cxx
+++ b/connectivity/source/drivers/writer/WConnection.cxx
@@ -138,7 +138,7 @@ uno::Reference<text::XTextDocument> const& OWriterConnection::acquireDoc()
             uno::Exception aLoaderError;
             OSL_VERIFY(aLoaderException >>= aLoaderError);
 
-            SAL_WARN("connectivity.writer", "empty m_xDoc, exception type: " << aLoaderException.getValueTypeName() << ", error message: " << aLoaderError.Message);
+            SAL_WARN("connectivity.writer", "empty m_xDoc, exception type: " << aLoaderException.getValueTypeName() << ", error message: " << aLoaderError);
         }
 
         const OUString sError(m_aResources.getResourceStringWithSubstitution(
diff --git a/cppu/qa/cppumaker/test_cppumaker.cxx b/cppu/qa/cppumaker/test_cppumaker.cxx
index d0fde124bf13..e214e6deb4ff 100644
--- a/cppu/qa/cppumaker/test_cppumaker.cxx
+++ b/cppu/qa/cppumaker/test_cppumaker.cxx
@@ -365,17 +365,6 @@
 #include <cstddef>
 #include <iostream>
 
-namespace com { namespace sun { namespace star { namespace uno {
-
-std::ostream & operator <<(
-    std::ostream & out,
-    SAL_UNUSED_PARAMETER css::uno::Exception const &)
-{
-    return out << "<UNO exception>";
-}
-
-} } } }
-
 namespace test { namespace codemaker { namespace cppumaker {
 
 bool operator ==(
diff --git a/cppuhelper/source/component.cxx b/cppuhelper/source/component.cxx
index 7b974ec76586..d906243bfddb 100644
--- a/cppuhelper/source/component.cxx
+++ b/cppuhelper/source/component.cxx
@@ -92,7 +92,7 @@ void OComponentHelper::release() throw()
                 catch (css::uno::RuntimeException & exc)
                 {
                     // release should not throw exceptions
-                    SAL_WARN( "cppuhelper", exc.Message );
+                    SAL_WARN( "cppuhelper", exc );
                 }
 
                 // only the alive ref holds the object
diff --git a/cppuhelper/source/component_context.cxx b/cppuhelper/source/component_context.cxx
index 8555feaef4c9..7d9ecd97b3c6 100644
--- a/cppuhelper/source/component_context.cxx
+++ b/cppuhelper/source/component_context.cxx
@@ -341,7 +341,7 @@ Any ComponentContext::lookupMap( OUString const & rName )
         SAL_WARN(
             "cppuhelper",
             "exception occurred raising singleton \"" << rName << "\": "
-            << exc.Message);
+            << exc);
     }
 
     SAL_WARN_IF(!xInstance.is(),
@@ -573,7 +573,7 @@ extern "C" { static void s_createComponentContext_v(va_list * pParam)
         }
         catch (Exception & exc)
         {
-            SAL_WARN( "cppuhelper", exc.Message );
+            SAL_WARN( "cppuhelper", exc );
             xContext.clear();
         }
     }
diff --git a/cppuhelper/source/implbase.cxx b/cppuhelper/source/implbase.cxx
index a64418ffaccd..b8bc91b769b1 100644
--- a/cppuhelper/source/implbase.cxx
+++ b/cppuhelper/source/implbase.cxx
@@ -77,7 +77,7 @@ void WeakComponentImplHelperBase::release()
                 dispose();
             }
             catch (RuntimeException const& exc) { // don't break throw ()
-                SAL_WARN( "cppuhelper", exc.Message );
+                SAL_WARN( "cppuhelper", exc );
             }
             OSL_ASSERT( rBHelper.bDisposed );
         }
@@ -201,7 +201,7 @@ void WeakAggComponentImplHelperBase::release()
                 dispose();
             }
             catch (RuntimeException const& exc) { // don't break throw ()
-                SAL_WARN( "cppuhelper", exc.Message );
+                SAL_WARN( "cppuhelper", exc );
             }
             OSL_ASSERT( rBHelper.bDisposed );
         }
diff --git a/cppuhelper/source/propshlp.cxx b/cppuhelper/source/propshlp.cxx
index 91e777249f4a..eea33d133aaf 100644
--- a/cppuhelper/source/propshlp.cxx
+++ b/cppuhelper/source/propshlp.cxx
@@ -693,7 +693,7 @@ void OPropertySetHelper::fire
                     }
                     catch (RuntimeException & exc)
                     {
-                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc.Message);
+                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc);
                         if (! bIgnoreRuntimeExceptionsWhileFiring)
                             throw;
                     }
@@ -745,7 +745,7 @@ void OPropertySetHelper::fire
                     }
                     catch (RuntimeException & exc)
                     {
-                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc.Message);
+                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc);
                         if (! bIgnoreRuntimeExceptionsWhileFiring)
                             throw;
                     }
@@ -790,7 +790,7 @@ void OPropertySetHelper::fire
                     }
                     catch (RuntimeException & exc)
                     {
-                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc.Message);
+                        SAL_INFO("cppuhelper", "caught RuntimeException while firing listeners: " << exc);
                         if (! bIgnoreRuntimeExceptionsWhileFiring)
                             throw;
                     }
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index 7e6c178c4e7c..1478010d3434 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -890,10 +890,7 @@ void cppuhelper::ServiceManager::disposing() {
         try {
             (*i)->dispose();
         } catch (css::uno::RuntimeException & e) {
-            SAL_WARN(
-                "cppuhelper",
-                "Ignoring RuntimeException \"" << e.Message
-                    << "\" while disposing singleton");
+            SAL_WARN("cppuhelper", "Ignoring " << e << " while disposing singleton");
         }
     }
     for (std::vector<
diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx
index 02da05163732..f86dca136753 100644
--- a/cppuhelper/source/tdmgr.cxx
+++ b/cppuhelper/source/tdmgr.cxx
@@ -591,11 +591,11 @@ static void SAL_CALL typelib_callback(
             }
             catch (const container::NoSuchElementException & exc)
             {
-                SAL_INFO("cppuhelper", "typelibrary type not available: " << exc.Message );
+                SAL_INFO("cppuhelper", "typelibrary type not available: " << exc );
             }
             catch (const Exception & exc)
             {
-                SAL_INFO("cppuhelper", exc.Message );
+                SAL_INFO("cppuhelper", exc );
             }
         }
     }
diff --git a/cppuhelper/source/weak.cxx b/cppuhelper/source/weak.cxx
index 81de170130a9..acbbb94a4551 100644
--- a/cppuhelper/source/weak.cxx
+++ b/cppuhelper/source/weak.cxx
@@ -243,7 +243,7 @@ void OWeakObject::disposeWeakConnectionPoint()
             p->dispose();
         }
         catch (RuntimeException const& exc) {
-            SAL_WARN( "cppuhelper", exc.Message );
+            SAL_WARN( "cppuhelper", exc );
         }
         p->release();
     }
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index abc741297ff7..ceb00d6e4d29 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -552,7 +552,7 @@ IMPL_LINK( SvxToolbarConfigPage, ModifyItemHdl, MenuButton *, pButton, void )
                 }
                 catch ( css::uno::Exception& e)
                 {
-                    SAL_WARN("cui.customize", "Error replacing image: " << e.Message);
+                    SAL_WARN("cui.customize", "Error replacing image: " << e);
                 }
             }
         }
@@ -602,7 +602,7 @@ IMPL_LINK( SvxToolbarConfigPage, ModifyItemHdl, MenuButton *, pButton, void )
         }
         catch ( css::uno::Exception& e )
         {
-            SAL_WARN("cui.customize", "Error resetting image: " << e.Message);
+            SAL_WARN("cui.customize", "Error resetting image: " << e);
         }
     }
     else if (sIdent == "restoreItem")
@@ -659,7 +659,7 @@ IMPL_LINK( SvxToolbarConfigPage, ModifyItemHdl, MenuButton *, pButton, void )
         }
         catch ( css::uno::Exception& e )
         {
-            SAL_WARN("cui.customize", "Error restoring image: " << e.Message);
+            SAL_WARN("cui.customize", "Error restoring image: " << e);
         }
     }
     else
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index b342c42e327e..51bab76a9843 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -926,7 +926,7 @@ void ContextMenuSaveInData::Reset()
         }
         catch ( const css::uno::Exception& e )
         {
-            SAL_WARN("cui.customize", "Exception caught while resetting context menus: " << e.Message);
+            SAL_WARN("cui.customize", "Exception caught while resetting context menus: " << e);
         }
     }
     PersistChanges( GetConfigManager() );
@@ -941,7 +941,7 @@ void ContextMenuSaveInData::ResetContextMenu( const SvxConfigEntry* pEntry )
     }
     catch ( const css::uno::Exception& e )
     {
-        SAL_WARN("cui.customize", "Exception caught while resetting context menu: " << e.Message);
+        SAL_WARN("cui.customize", "Exception caught while resetting context menu: " << e);
     }
     PersistChanges( GetConfigManager() );
     m_pRootEntry.reset();
@@ -3517,7 +3517,7 @@ bool SvxIconSelectorDialog::ImportGraphic( const OUString& aURL )
     }
     catch( uno::Exception& e )
     {
-        SAL_WARN("cui.customize", "Caught exception importing XGraphic: " << e.Message);
+        SAL_WARN("cui.customize", "Caught exception importing XGraphic: " << e);
     }
     return result;
 }
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index 02a34d9daf34..fe02b8b0497a 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -695,7 +695,7 @@ void SfxConfigGroupListBox::Init(const css::uno::Reference< css::uno::XComponent
     }
     catch( Exception& e )
     {
-        SAL_INFO("cui.customize", "Caught some exception whilst retrieving browse nodes from factory... Exception: " << e.Message);
+        SAL_INFO("cui.customize", "Caught some exception whilst retrieving browse nodes from factory... Exception: " << e);
         // TODO exception handling
     }
 
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx
index 062585193e89..59b9191b2a58 100644
--- a/cui/source/dialogs/linkdlg.cxx
+++ b/cui/source/dialogs/linkdlg.cxx
@@ -400,7 +400,7 @@ IMPL_LINK_NOARG( SvBaseLinksDlg, ChangeSourceClickHdl, Button *, void )
         }
         catch (uno::Exception & e)
         {
-            SAL_WARN("cui.dialogs", "SvBaseLinksDlg: caught UNO exception: " << e.Message);
+            SAL_WARN("cui.dialogs", "SvBaseLinksDlg: " << e);
         }
     }
     else
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index 35a40f3be0bd..3d24e337251e 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -182,7 +182,7 @@ void SFTreeListBox::Init( const OUString& language  )
     }
     catch( Exception& e )
     {
-        SAL_WARN("cui.dialogs", "Exception getting root browse node from factory: " << e.Message );
+        SAL_WARN("cui.dialogs", "Exception getting root browse node from factory: " << e );
         // TODO exception handling
     }
 
@@ -755,7 +755,7 @@ IMPL_LINK( SvxScriptOrgDialog, ButtonHdl, Button *, pButton, void )
                         }
                         catch( Exception& e )
                         {
-                            SAL_WARN("cui.dialogs", "Caught exception trying to invoke " << e.Message );
+                            SAL_WARN("cui.dialogs", "Caught exception trying to invoke " << e );
                         }
                     }
                 }
@@ -932,7 +932,7 @@ void SvxScriptOrgDialog::createEntry( SvTreeListEntry* pEntry )
         }
         catch( Exception& e )
         {
-            SAL_WARN("cui.dialogs", "Caught exception trying to Create " << e.Message );
+            SAL_WARN("cui.dialogs", "Caught exception trying to Create " << e );
         }
     }
     if ( aChildNode.is() )
@@ -1021,7 +1021,7 @@ void SvxScriptOrgDialog::renameEntry( SvTreeListEntry* pEntry )
         }
         catch( Exception& e )
         {
-            SAL_WARN("cui.dialogs", "Caught exception trying to Rename " << e.Message );
+            SAL_WARN("cui.dialogs", "Caught exception trying to Rename " << e );
         }
     }
     if ( aChildNode.is() )
@@ -1067,7 +1067,7 @@ void SvxScriptOrgDialog::deleteEntry( SvTreeListEntry* pEntry )
         }
         catch( Exception& e )
         {
-            SAL_WARN("cui.dialogs", "Caught exception trying to delete " << e.Message );
+            SAL_WARN("cui.dialogs", "Caught exception trying to delete " << e );
         }
     }
 
diff --git a/cui/source/options/certpath.cxx b/cui/source/options/certpath.cxx
index 67f541a6363e..1a222613bcb4 100644
--- a/cui/source/options/certpath.cxx
+++ b/cui/source/options/certpath.cxx
@@ -103,7 +103,7 @@ CertPathDialog::CertPathDialog(vcl::Window* pParent)
     }
     catch (const uno::Exception &e)
     {
-        SAL_WARN("cui.options", "CertPathDialog::CertPathDialog(): caught exception" << e.Message);
+        SAL_WARN("cui.options", "CertPathDialog::CertPathDialog(): " << e);
     }
 
     const char* pEnv = getenv("MOZILLA_CERTIFICATE_FOLDER");
@@ -123,7 +123,7 @@ IMPL_LINK_NOARG(CertPathDialog, OKHdl_Impl, Button*, void)
     }
     catch (const uno::Exception &e)
     {
-        SAL_WARN("cui.options", "CertPathDialog::OKHdl_Impl(): caught exception" << e.Message);
+        SAL_WARN("cui.options", "CertPathDialog::OKHdl_Impl(): " << e);
     }
 
     EndDialog(RET_OK);
@@ -230,7 +230,7 @@ IMPL_LINK_NOARG(CertPathDialog, AddHdl_Impl, Button*, void)
     }
     catch (uno::Exception & e)
     {
-        SAL_WARN("cui.options", "caught UNO exception: " << e.Message);
+        SAL_WARN("cui.options", e);
     }
 }
 
diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx
index 85b4a8631487..df500a2c28b8 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -272,7 +272,7 @@ void CuiAboutConfigTabPage::FillItems(const Reference< XNameAccess >& xNameAcces
         }
         catch (const RuntimeException& e)
         {
-            SAL_WARN( "cui.options", "CuiAboutConfigTabPage: exception " << e.Message);
+            SAL_WARN( "cui.options", "CuiAboutConfigTabPage: " << e);
         }
 
         if (bNotLeaf)
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 95dcafddabc9..fb2ea14f4a16 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1178,7 +1178,7 @@ OfaLanguagesTabPage::OfaLanguagesTabPage(vcl::Window* pParent, const SfxItemSet&
     {
         // we'll just leave the box in its default setting and won't
         // even give it event handler...
-        SAL_WARN("cui.options", "ignoring Exception \"" << e.Message << "\"");
+        SAL_WARN("cui.options", "ignoring " << e);
     }
 
     m_pWesternLanguageLB->SetLanguageList( SvxLanguageListFlags::WESTERN | SvxLanguageListFlags::ONLY_KNOWN, true, false, true );
@@ -1363,7 +1363,7 @@ bool OfaLanguagesTabPage::FillItemSet( SfxItemSet* rSet )
     {
         // we'll just leave the box in its default setting and won't
         // even give it event handler...
-        SAL_WARN("cui.options", "ignoring Exception \"" << e.Message << "\"");
+        SAL_WARN("cui.options", "ignoring Exception \"" << e << "\"");
     }
 
     LanguageTag aLanguageTag( pLangConfig->aSysLocaleOptions.GetLanguageTag());
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index 4e6e90b6e998..d68e04cc3de5 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -781,7 +781,7 @@ IMPL_STATIC_LINK_NOARG(SvxSecurityTabPage, MacroSecPBHdl, Button*, void)
     }
     catch (const Exception& e)
     {
-        SAL_WARN( "cui.options", e.Message);
+        SAL_WARN( "cui.options", e);
     }
 }
 
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index 323313c748d3..f448511d3e43 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -255,7 +255,7 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, AddHdl_Impl, Button*, void)
     }
     catch (const Exception& e)
     {
-        SAL_WARN( "cui.options", "SvxJavaOptionsPage::AddHdl_Impl(): caught exception: " << e.Message);
+        SAL_WARN( "cui.options", "SvxJavaOptionsPage::AddHdl_Impl(): " << e);
     }
 }
 
diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index 683683cd8e74..96034786c0b5 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -652,7 +652,7 @@ IMPL_LINK_NOARG(SvxPathTabPage, PathHdl_Impl, Button*, void)
         }
         catch (const uno::Exception& rException)
         {
-            SAL_WARN("cui.options", "SvxPathTabPage::PathHdl_Impl: exception from file picker: " << rException.Message);
+            SAL_WARN("cui.options", "SvxPathTabPage::PathHdl_Impl: exception from file picker: " << rException);
         }
     }
 }
@@ -820,7 +820,7 @@ void SvxPathTabPage::SetPathList(
     }
     catch( const Exception& e )
     {
-        SAL_WARN("cui.options", "caught: " << e.Message);
+        SAL_WARN("cui.options", "caught: " << e);
     }
 }
 
diff --git a/cui/source/options/optsave.cxx b/cui/source/options/optsave.cxx
index 276aa8d4ad78..ff9012d0c1f6 100644
--- a/cui/source/options/optsave.cxx
+++ b/cui/source/options/optsave.cxx
@@ -453,7 +453,7 @@ void SvxSaveTabPage::Reset( const SfxItemSet* )
         }
         catch(Exception& e)
         {
-            SAL_WARN( "cui.options", "exception in FilterFactory access: " << e.Message );
+            SAL_WARN( "cui.options", "exception in FilterFactory access: " << e );
         }
 
         pImpl->bInitialized = true;
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index e5576efbcb4d..f0287be40e27 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -413,7 +413,7 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl, Button*, void)
     }
     catch( const uno::Exception& e )
     {
-         SAL_WARN("cui.options", "Caught exception, thread terminated. " << e.Message);
+         SAL_WARN("cui.options", "Caught exception, thread terminated. " << e);
     }
 }
 
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index fe88b2a8b7a6..32ad04310ffe 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -2132,11 +2132,11 @@ void ExtensionsTabPage::CreateDialogWithHandler()
     }
     catch (const css::lang::IllegalArgumentException& e)
     {
-        SAL_WARN("cui.options", "ExtensionsTabPage::CreateDialogWithHandler(): illegal argument:" << e.Message);
+        SAL_WARN("cui.options", "ExtensionsTabPage::CreateDialogWithHandler(): illegal argument:" << e);
     }
     catch (const Exception& e)
     {
-        SAL_WARN( "cui.options", "ExtensionsTabPage::CreateDialogWithHandler(): exception of XDialogProvider2::createDialogWithHandler(): " << e.Message);
+        SAL_WARN( "cui.options", "ExtensionsTabPage::CreateDialogWithHandler(): exception of XDialogProvider2::createDialogWithHandler(): " << e);
     }
 }
 
diff --git a/cui/source/options/tsaurls.cxx b/cui/source/options/tsaurls.cxx
index 683151215a5f..7674c64581f6 100644
--- a/cui/source/options/tsaurls.cxx
+++ b/cui/source/options/tsaurls.cxx
@@ -48,7 +48,7 @@ TSAURLsDialog::TSAURLsDialog(vcl::Window* pParent)
     }
     catch (const uno::Exception &e)
     {
-        SAL_WARN("cui.options", "TSAURLsDialog::TSAURLsDialog(): caught exception" << e.Message);
+        SAL_WARN("cui.options", "TSAURLsDialog::TSAURLsDialog(): " << e);
     }
 
     if ( m_pURLListBox->GetSelectedEntryCount() == 0 )
diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx
index 529b33917463..4c6130706e59 100644
--- a/dbaccess/source/core/api/RowSetCache.cxx
+++ b/dbaccess/source/core/api/RowSetCache.cxx
@@ -129,7 +129,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
     }
     catch(const Exception& ex)
     {
-        SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << ex.Message);
+        SAL_WARN("dbaccess.core", "ORowSetCache: " << ex);
     }
     try
     {
@@ -139,7 +139,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
     }
     catch(const SQLException& e)
     {
-        SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << e.Message);
+        SAL_WARN("dbaccess.core", "ORowSetCache: " << e);
     }
 
     // check if all keys of the updateable table are fetched
@@ -185,7 +185,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
                 }
                 catch (const Exception& e)
                 {
-                    SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << e.Message);
+                    SAL_WARN("dbaccess.core", "ORowSetCache: " << e);
                 }
                 m_xCacheSet.clear();
             }
@@ -225,7 +225,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
         }
         catch (Exception const& e)
         {
-            SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << e.Message);
+            SAL_WARN("dbaccess.core", "ORowSetCache: " << e);
         }
     }
 
@@ -253,7 +253,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
         }
         catch (const SQLException& e)
         {
-            SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << e.Message);
+            SAL_WARN("dbaccess.core", "ORowSetCache: " << e);
             bNeedKeySet = true;
         }
 
@@ -332,7 +332,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs,
             }
             catch (const SQLException& e)
             {
-                SAL_WARN("dbaccess.core", "ORowSetCache: exception: " << e.Message);
+                SAL_WARN("dbaccess.core", "ORowSetCache: " << e);
                 // we couldn't create a keyset here so we have to create a static cache
                 m_xCacheSet = new OStaticSet(i_nMaxRows);
                 m_xCacheSet->construct(_xRs,i_sRowSetFilter);
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index 75b3b4f65189..27538722ef70 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -1659,7 +1659,7 @@ void ODatabaseDocument::impl_writeStorage_throw( const Reference< XStorage >& _r
         }
         catch (const uno::Exception& e)
         {
-            SAL_WARN("dbaccess", "exception setting Version: " << e.Message);
+            SAL_WARN("dbaccess", "exception setting Version: " << e);
         }
     }
 
diff --git a/dbaccess/source/filter/xml/xmlfilter.cxx b/dbaccess/source/filter/xml/xmlfilter.cxx
index e0c94c6d7b43..641cb60dd4db 100644
--- a/dbaccess/source/filter/xml/xmlfilter.cxx
+++ b/dbaccess/source/filter/xml/xmlfilter.cxx
@@ -113,7 +113,7 @@ ErrCode ReadThroughComponent(
     catch (const SAXParseException& r)
     {
 #if OSL_DEBUG_LEVEL > 0
-        SAL_WARN("dbaccess", "SAX parse exception caught while importing: " << r.Message << r.LineNumber << "," << r.ColumnNumber);
+        SAL_WARN("dbaccess", "SAX parse exception caught while importing: " << r << r.LineNumber << "," << r.ColumnNumber);
 #else
         (void)r;
 #endif
diff --git a/dbaccess/source/ui/browser/sbagrid.cxx b/dbaccess/source/ui/browser/sbagrid.cxx
index eb00026614fe..cff038d39462 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -964,7 +964,7 @@ Reference< XPropertySet >  SbaGridControl::getField(sal_uInt16 nModelPos)
     }
     catch (const Exception& e)
     {
-        SAL_WARN("dbaccess", "SbaGridControl::getField Exception occurred: " << e.Message);
+        SAL_WARN("dbaccess", "SbaGridControl::getField Exception occurred: " << e);
     }
 
     return xEmptyReturn;
@@ -999,7 +999,7 @@ bool SbaGridControl::IsReadOnlyDB() const
     }
     catch (const Exception& e)
     {
-        SAL_WARN("dbaccess", "SbaGridControl::IsReadOnlyDB Exception occurred: " << e.Message);
+        SAL_WARN("dbaccess", "SbaGridControl::IsReadOnlyDB Exception occurred: " << e);
     }
 
     return bDBIsReadOnly;
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 7c194f890db9..cae1d3ce8b22 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -306,7 +306,7 @@ void SetRestartState() {
         officecfg::Setup::Office::OfficeRestartInProgress::set(true, batch);
         batch->commit();
     } catch (css::uno::Exception & e) {
-        SAL_WARN("desktop.app", "ignoring Exception \"" << e.Message << "\"");
+        SAL_WARN("desktop.app", "ignoring " << e);
     }
 }
 
@@ -325,7 +325,7 @@ void DoRestartActionsIfNecessary(bool quickstart) {
             }
         } catch (css::uno::Exception & e) {
             SAL_WARN(
-                "desktop.app", "ignoring Exception \"" << e.Message << "\"");
+                "desktop.app", "ignoring " << e);
         }
     }
 }
@@ -2087,7 +2087,7 @@ void Desktop::OpenClients()
         }
         catch(const css::uno::Exception& e)
         {
-            SAL_WARN( "desktop.app", "Could not disable AutoRecovery." << e.Message);
+            SAL_WARN( "desktop.app", "Could not disable AutoRecovery." << e);
         }
     }
     else
@@ -2114,7 +2114,7 @@ void Desktop::OpenClients()
             }
             catch(const css::uno::Exception& e)
             {
-                SAL_WARN( "desktop.app", "Error during recovery" << e.Message);
+                SAL_WARN( "desktop.app", "Error during recovery" << e);
             }
         }
         else if (bExistsRecoveryData && bDisableRecovery && !rArgs.HasModuleParam())
@@ -2131,7 +2131,7 @@ void Desktop::OpenClients()
         }
         catch(const css::uno::Exception& e)
         {
-            SAL_WARN( "desktop.app", "Registration of session listener failed" << e.Message);
+            SAL_WARN( "desktop.app", "Registration of session listener failed" << e);
         }
 
         if ( !bExistsRecoveryData && xSessionListener.is() )
@@ -2143,7 +2143,7 @@ void Desktop::OpenClients()
             }
             catch(const css::uno::Exception& e)
             {
-                SAL_WARN( "desktop.app", "Error in session management" << e.Message);
+                SAL_WARN( "desktop.app", "Error in session management" << e);
             }
         }
     }
diff --git a/desktop/source/app/appinit.cxx b/desktop/source/app/appinit.cxx
index 7512b31d0dbb..b21b98349b7f 100644
--- a/desktop/source/app/appinit.cxx
+++ b/desktop/source/app/appinit.cxx
@@ -157,7 +157,7 @@ void Desktop::createAcceptor(const OUString& aAcceptString)
             {
                 // no error handling needed...
                 // acceptor just won't come up
-                SAL_WARN( "desktop.app", "Acceptor could not be created: " << e.Message);
+                SAL_WARN( "desktop.app", "Acceptor could not be created: " << e);
             }
         }
         else
diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx
index 788686c5528a..86f6385cf4ab 100644
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
@@ -290,7 +290,7 @@ static bool impl_checkDependencies( const uno::Reference< uno::XComponentContext
                 }
                 catch ( const uno::RuntimeException & ) { throw; }
                 catch (const uno::Exception & exc) {
-                   SAL_WARN( "desktop.app", "" <<  exc.Message );
+                   SAL_WARN( "desktop.app", exc );
                 }
 
                 if ( bRegistered )
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index 6cd75c0d5f4d..466e6eeeae11 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -473,8 +473,7 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
                     SAL_WARN(
                         "desktop.app",
                         "Desktop::OpenDefault() ignoring Exception while"
-                            " calling XNotifyingDispatch: \"" << e.Message
-                            << "\"");
+                            " calling XNotifyingDispatch: " << e);
                 }
             }
         }
@@ -546,14 +545,14 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
                 SAL_WARN(
                     "desktop.app",
                     "Dispatchwatcher IllegalArgumentException while calling"
-                        " loadComponentFromURL: \"" << iae.Message << "\"");
+                        " loadComponentFromURL: " << iae);
             }
             catch (const css::io::IOException& ioe)
             {
                 SAL_WARN(
                     "desktop.app",
                     "Dispatchwatcher IOException while calling"
-                        " loadComponentFromURL: \"" << ioe.Message << "\"");
+                        " loadComponentFromURL: " << ioe);
             }
             if ( aDispatchRequest.aRequestType == REQUEST_OPEN ||
                  aDispatchRequest.aRequestType == REQUEST_VIEW ||
diff --git a/desktop/source/app/langselect.cxx b/desktop/source/app/langselect.cxx
index 3af3652de083..8d826ab3674e 100644
--- a/desktop/source/app/langselect.cxx
+++ b/desktop/source/app/langselect.cxx
@@ -90,9 +90,7 @@ bool prepareLocale() {
                     "", batch);
                 batch->commit();
             } catch (css::uno::Exception & e) {
-                SAL_WARN(
-                    "desktop.app",
-                    "ignoring Exception \"" << e.Message << "\"");
+                SAL_WARN("desktop.app", "ignoring " << e);
             }
         }
     }
@@ -125,8 +123,7 @@ bool prepareLocale() {
             officecfg::Setup::L10N::ooLocale::set(locale, batch);
             batch->commit();
         } catch (css::uno::Exception & e) {
-            SAL_WARN(
-                "desktop.app", "ignoring Exception \"" << e.Message << "\"");
+            SAL_WARN("desktop.app", "ignoring " << e);
         }
     }
     MsLangId::setConfiguredSystemUILanguage(tag.getLanguageType(false));
diff --git a/desktop/source/app/opencl.cxx b/desktop/source/app/opencl.cxx
index 1dfc338b51d3..9f17673ed5e5 100644
--- a/desktop/source/app/opencl.cxx
+++ b/desktop/source/app/opencl.cxx
@@ -96,7 +96,7 @@ bool testOpenCLCompute(const Reference< XDesktop2 > &xDesktop, const OUString &r
     }
     catch (const css::uno::Exception &e)
     {
-        SAL_WARN("opencl", "OpenCL testing failed - disabling: " << e.Message);
+        SAL_WARN("opencl", "OpenCL testing failed - disabling: " << e);
     }
 
     if (nKernelFailures != openclwrapper::kernelFailures)
diff --git a/desktop/source/app/userinstall.cxx b/desktop/source/app/userinstall.cxx
index 86ca552355e9..ad55d6848f7a 100644
--- a/desktop/source/app/userinstall.cxx
+++ b/desktop/source/app/userinstall.cxx
@@ -140,7 +140,7 @@ bool isCreated() {
     try {
         return officecfg::Setup::Office::ooSetupInstCompleted::get();
     } catch (css::uno::Exception & e) {
-        SAL_WARN("desktop.app", "ignoring Exception \"" << e.Message << "\"");
+        SAL_WARN("desktop.app", "ignoring " << e);
         return false;
     }
 }
diff --git a/desktop/source/deployment/dp_log.cxx b/desktop/source/deployment/dp_log.cxx
index c03caaef2461..c3de88643003 100644
--- a/desktop/source/deployment/dp_log.cxx
+++ b/desktop/source/deployment/dp_log.cxx
@@ -78,7 +78,7 @@ void ProgressLogImpl::disposing()
         }
     }
     catch (const Exception & exc) {
-        SAL_WARN( "desktop", exc.Message );
+        SAL_WARN( "desktop", exc );
     }
 }
 
@@ -136,7 +136,7 @@ void ProgressLogImpl::log_write( OString const & text )
         }
     }
     catch (const io::IOException & exc) {
-        SAL_WARN( "desktop", exc.Message );
+        SAL_WARN( "desktop", exc );
     }
 }
 
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 8b311528e7ce..59138ad44214 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -724,7 +724,7 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker()
             xFilePicker->appendFilter( iPos->first, iPos->second );
         }
         catch (const lang::IllegalArgumentException & exc) {
-            SAL_WARN( "desktop", exc.Message );
+            SAL_WARN( "desktop", exc );
         }
     }
     xFilePicker->setCurrentFilter( sDefaultFilter );
@@ -1377,7 +1377,7 @@ bool UpdateRequiredDialog::isEnabled( const uno::Reference< deployment::XPackage
     }
     catch ( const uno::RuntimeException & ) { throw; }
     catch (const uno::Exception & exc) {
-        SAL_WARN( "desktop", exc.Message );
+        SAL_WARN( "desktop", exc );
         bRegistered = false;
     }
 
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index fa8724c84ccb..137d2358a02c 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -342,7 +342,7 @@ PackageState TheExtensionManager::getPackageState( const uno::Reference< deploym
         throw;
     }
     catch (const uno::Exception & exc) {
-        SAL_WARN( "desktop", exc.Message );
+        SAL_WARN( "desktop", exc );
         return NOT_AVAILABLE;
     }
 }
diff --git a/desktop/source/deployment/manager/dp_informationprovider.cxx b/desktop/source/deployment/manager/dp_informationprovider.cxx
index a19a5c728516..5aaee07a2194 100644
--- a/desktop/source/deployment/manager/dp_informationprovider.cxx
+++ b/desktop/source/deployment/manager/dp_informationprovider.cxx
@@ -145,9 +145,7 @@ PackageInformationProvider::getPackageLocation( const OUString& _sExtensionId )
         }
         catch (const css::ucb::ContentCreationException& e)
         {
-           SAL_WARN(
-            "desktop.deployment",
-            "ignoring ContentCreationException \"" << e.Message << "\"");
+           SAL_WARN("desktop.deployment", "ignoring " << e);
         }
     }
     return aLocationURL;
@@ -217,9 +215,7 @@ PackageInformationProvider::isUpdateAvailable( const OUString& _sExtensionId )
                 dp_misc::getIdentifier(info.extension), info.extension->getName(),
                 uno::Reference<css_ucb::XCommandEnvironment>());
         } catch (const lang::IllegalArgumentException& e) {
-            SAL_WARN(
-                "desktop.deployment",
-                "ignoring IllegalArgumentException \"" << e.Message << "\"");
+            SAL_WARN("desktop.deployment", "ignoring " << e);
             continue;
         }
         OSL_ASSERT(extensions.getLength() == 3);
diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx
index b9b849d31b8a..5667ffc126fb 100644
--- a/desktop/source/deployment/manager/dp_manager.cxx
+++ b/desktop/source/deployment/manager/dp_manager.cxx
@@ -583,7 +583,7 @@ OUString PackageManagerImpl::detectMediaType(
         catch (const lang::IllegalArgumentException & exc) {
             if (throw_exc)
                 throw;
-            SAL_WARN( "desktop", exc.Message );
+            SAL_WARN( "desktop", exc );
         }
     }
     return mediaType;
@@ -1026,11 +1026,11 @@ PackageManagerImpl::getDeployedPackages_(
         }
         catch (const lang::IllegalArgumentException & exc) {
             // ignore
-            SAL_WARN( "desktop", exc.Message );
+            SAL_WARN( "desktop", exc );
         }
         catch (const deployment::DeploymentException& exc) {
             // ignore
-            SAL_WARN( "desktop", exc.Message );
+            SAL_WARN( "desktop", exc );
         }
     }
     return comphelper::containerToSequence(packages);
@@ -1265,7 +1265,7 @@ bool PackageManagerImpl::synchronizeRemovedExtensions(
         }
         catch( const uno::Exception & e )
         {
-            SAL_WARN("desktop.deployment", e.Message);
+            SAL_WARN("desktop.deployment", e);
         }
     }
     return bModified;
@@ -1403,7 +1403,7 @@ bool PackageManagerImpl::synchronizeAddedExtensions(
         catch (const uno::Exception & e)
         {
             // Looks like exceptions being caught here is not an uncommon case.
-            SAL_WARN("desktop.deployment", e.Message);
+            SAL_WARN("desktop.deployment", e);
         }
     }
     return bModified;
diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx
index 4c5805b4b54a..bfac300cd95e 100644
--- a/desktop/source/deployment/registry/component/dp_component.cxx
+++ b/desktop/source/deployment/registry/component/dp_component.cxx
@@ -1394,13 +1394,11 @@ void BackendImpl::ComponentPackageImpl::processPackage_(
                 componentLiveInsertion(data, factories);
             } catch (css::uno::Exception & e) {
                 SAL_INFO(
-                    "desktop.deployment", "caught Exception " << e.Message);
+                    "desktop.deployment", "caught " << e);
                 try {
                     impreg->revokeImplementation(url, rdb);
                 } catch (css::uno::RuntimeException & e2) {
-                    SAL_WARN(
-                        "desktop.deployment",
-                        "ignored RuntimeException " << e2.Message);
+                    SAL_WARN("desktop.deployment", "ignored " << e2);
                 }
                 throw;
             }
diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx
index f55910f13699..8bebe6cbec98 100644
--- a/desktop/source/deployment/registry/dp_backend.cxx
+++ b/desktop/source/deployment/registry/dp_backend.cxx
@@ -648,9 +648,7 @@ void Package::processPackage_impl(
                 static_cast< OWeakObject * >(this), e);
         }
         catch (const RuntimeException &e) {
-            SAL_WARN(
-                "desktop.deployment",
-                "unexpected RuntimeException \"" << e.Message << '"');
+            SAL_WARN("desktop.deployment", "unexpected " << e);
             throw;
         }
         catch (const CommandFailedException &) {
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
index d3d29d904dfc..af12c6b09f3f 100644
--- a/desktop/source/deployment/registry/package/dp_package.cxx
+++ b/desktop/source/deployment/registry/package/dp_package.cxx
@@ -1059,7 +1059,7 @@ void BackendImpl::PackageImpl::exportTo(
                                 ::cppu::getCaughtException() ) );
         }
         catch (const lang::IllegalArgumentException & exc) {
-            SAL_WARN( "desktop", exc.Message );
+            SAL_WARN( "desktop", exc );
         }
 
         std::vector< Sequence<beans::PropertyValue> > manifest;
@@ -1141,7 +1141,7 @@ void BackendImpl::PackageImpl::exportTo(
         catch (const css::ucb::ContentCreationException &e)
         {
             SAL_WARN(
-                "desktop.deployment", "exception on overwriting manifest: " << e.Message);
+                "desktop.deployment", "exception on overwriting manifest: " << e);
         }
 
         if (!bSuccess)
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 70e2372097b1..d84e09c9c7d9 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -1299,7 +1299,7 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis,
     catch (const uno::Exception& exception)
     {
         pLib->maLastExceptionMsg = exception.Message;
-        SAL_INFO("lok", "Document can't be loaded - exception: " << exception.Message);
+        SAL_INFO("lok", "Document can't be loaded: " << exception);
     }
 
     return nullptr;
diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx
index 7361419637f9..e03a103766bd 100644
--- a/desktop/source/migration/migration.cxx
+++ b/desktop/source/migration/migration.cxx
@@ -206,7 +206,7 @@ void Migration::migrateSettingsIfNecessary()
     try {
         bResult = aImpl.doMigration();
     } catch (const Exception& e) {
-        SAL_WARN( "desktop", "doMigration() exception: " << e.Message);
+        SAL_WARN( "desktop", "doMigration(): " << e);
     }
     OSL_ENSURE(bResult, "Migration has not been successful");
 }
@@ -294,7 +294,7 @@ bool MigrationImpl::doMigration()
     } catch (css::uno::Exception & e) {
         SAL_WARN(
             "desktop.migration",
-            "ignored Exception \"" << e.Message
+            "ignored Exception \"" << e
             << "\" while migrating from version \"" << m_aInfo.productname
             << "\" data \"" << m_aInfo.userdata << "\"");
     }
@@ -805,7 +805,7 @@ uno::Reference< XNameAccess > MigrationImpl::getConfigAccess(const sal_Char* pPa
                 sAccessSrvc, theArgs ), uno::UNO_QUERY_THROW );
     } catch (const css::uno::Exception& e) {
         SAL_WARN(
-            "desktop.migration", "ignoring Exception \"" << e.Message << "\"");
+            "desktop.migration", "ignoring Exception \"" << e << "\"");
     }
     return xNameAccess;
 }
@@ -884,7 +884,7 @@ void MigrationImpl::runServices()
             } catch (const Exception& e) {
                 SAL_WARN( "desktop", "Execution of migration service failed (Exception caught).\nService: "
                             << i_mig->service
-                            << "\nMessage: " << e.Message);
+                            << "\nMessage: " << e);
             } catch (...) {
                 SAL_WARN( "desktop", "Execution of migration service failed (Exception caught).\nService: "
                             << i_mig->service << "\nNo message available");
diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx
index fb1458767139..98281a3ecc4e 100644
--- a/desktop/source/migration/services/oo3extensionmigration.cxx
+++ b/desktop/source/migration/services/oo3extensionmigration.cxx
@@ -287,7 +287,7 @@ void OO3ExtensionMigration::migrateExtension( const OUString& sSourceDir )
         SAL_WARN(
             "desktop.migration",
             "Ignoring UNO Exception while migrating extension from <"
-            << sSourceDir << ">: \"" << e.Message << "\"");
+            << sSourceDir << ">: " << e);
     }
 }
 
diff --git a/desktop/source/offacc/acceptor.cxx b/desktop/source/offacc/acceptor.cxx
index b7029d489f15..80c9a7cc722a 100644
--- a/desktop/source/offacc/acceptor.cxx
+++ b/desktop/source/offacc/acceptor.cxx
@@ -118,7 +118,7 @@ void Acceptor::run()
             osl::MutexGuard g(m_aMutex);
             m_bridges.add(rBridge);
         } catch (const Exception& e) {
-            SAL_WARN("desktop.offacc", "caught Exception \"" << e.Message << "\"");
+            SAL_WARN("desktop.offacc", "caught " << e);
             // connection failed...
             // something went wrong during connection setup.
             // just wait for a new connection to accept
diff --git a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
index 30f5573ad038..49e2274b0056 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
@@ -125,7 +125,7 @@ CommandEnvironmentImpl::~CommandEnvironmentImpl()
             xComp->dispose();
     }
     catch (const RuntimeException & exc) {
-        SAL_WARN( "desktop", exc.Message );
+        SAL_WARN( "desktop", exc );
     }
 }
 
diff --git a/desktop/test/deployment/active/active_native.cxx b/desktop/test/deployment/active/active_native.cxx
index 0c1154bcc441..3a2af3f9c2dc 100644
--- a/desktop/test/deployment/active/active_native.cxx
+++ b/desktop/test/deployment/active/active_native.cxx
@@ -267,7 +267,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
     } catch (const css::uno::Exception & e) {
         SAL_INFO(
             "desktop.test",
-            "active_native component_writeInfo exception: " << e.Message);
+            "active_native component_writeInfo: " << e);
         return false;
     }
     return true;
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index af9c14b3340f..a2534ec2abfe 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -3536,7 +3536,7 @@ EditSelection ImpEditEngine::PasteText( uno::Reference< datatransfer::XTransfera
             }
             catch( const css::uno::Exception& e)
             {
-                SAL_WARN( "editeng", "Unable to paste EDITENGINE_ODF_TEXT_FLAT " << e.Message );
+                SAL_WARN( "editeng", "Unable to paste EDITENGINE_ODF_TEXT_FLAT " << e );
             }
         }
 
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index d0488f7c90cb..3624f43423ee 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2264,7 +2264,7 @@ SvStringsISortDtor* SvxAutoCorrectLanguageLists::LoadWrdSttExceptList()
     }
     catch (const css::ucb::ContentCreationException &e)
     {
-        SAL_WARN("editeng", "SvxAutoCorrectLanguageLists::LoadWrdSttExceptList: Caught exception: " << e.Message);
+        SAL_WARN("editeng", "SvxAutoCorrectLanguageLists::LoadWrdSttExceptList: Caught " << e);
     }
     return pWrdStt_ExcptLst;
 }
diff --git a/editeng/source/xml/xmltxtexp.cxx b/editeng/source/xml/xmltxtexp.cxx
index f3ad19334540..e12a334cade1 100644
--- a/editeng/source/xml/xmltxtexp.cxx
+++ b/editeng/source/xml/xmltxtexp.cxx
@@ -337,7 +337,7 @@ void SvxWriteXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection&
     }
     catch( const uno::Exception& e )
     {
-        SAL_WARN("editeng", "exception during xml export: " << e.Message);
+        SAL_WARN("editeng", "exception during xml export: " << e);
     }
 }
 
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 43dcfa865662..c70c8b2a3fd1 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -934,8 +934,7 @@ void SAL_CALL OleEmbeddedObject::doVerb( sal_Int32 nVerbID )
             }
             catch (uno::Exception const& e)
             {
-                SAL_WARN("embeddedobj.ole", "OleEmbeddedObject::doVerb: "
-                    "-9 fallback path: exception caught: " << e.Message);
+                SAL_WARN("embeddedobj.ole", "OleEmbeddedObject::doVerb: -9 fallback path: " << e);
             }
         }
 
diff --git a/embeddedobj/source/msole/olevisual.cxx b/embeddedobj/source/msole/olevisual.cxx
index 49e41275c93b..1fc8255275f8 100644
--- a/embeddedobj/source/msole/olevisual.cxx
+++ b/embeddedobj/source/msole/olevisual.cxx
@@ -235,9 +235,7 @@ awt::Size SAL_CALL OleEmbeddedObject::getVisualAreaSize( sal_Int64 nAspect )
                     }
                     catch( const uno::Exception& e )
                     {
-                        SAL_WARN(
-                            "embeddedobj.ole",
-                            "ignoring Exception " << e.Message);
+                        SAL_WARN("embeddedobj.ole", "ignoring " << e);
                     }
                 }
 
diff --git a/embeddedobj/source/msole/ownview.cxx b/embeddedobj/source/msole/ownview.cxx
index 2add5c4f3201..a22411f6342c 100644
--- a/embeddedobj/source/msole/ownview.cxx
+++ b/embeddedobj/source/msole/ownview.cxx
@@ -151,8 +151,7 @@ bool OwnView_Impl::CreateModelFromURL( const OUString& aFileURL )
         }
         catch (uno::Exception const& e)
         {
-            SAL_WARN("embeddedobj.ole", "OwnView_Impl::CreateModelFromURL:"
-                    " exception caught: " << e.Message);
+            SAL_WARN("embeddedobj.ole", "OwnView_Impl::CreateModelFromURL:" << e);
         }
     }
 
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index 161b24048040..9e2dd31805e8 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -179,7 +179,7 @@ Reference< XNameAccess >  getColumns(const Reference< XForm > & _rxForm)
             }
             catch (const Exception& e)
             {
-                SAL_WARN( "extensions.biblio", "::getColumns : caught an exception. " << e.Message);
+                SAL_WARN( "extensions.biblio", "::getColumns : caught an exception. " << e);
             }
 
         }
@@ -497,7 +497,7 @@ DBChangeDialog_Impl::DBChangeDialog_Impl(vcl::Window* pParent, BibDataManager* p
     {
         SAL_WARN("extensions.biblio",
             "Exception in BibDataManager::DBChangeDialog_Impl::DBChangeDialog_Impl "
-            << e.Message);
+            << e);
     }
 }
 
diff --git a/extensions/source/config/ldap/ldapuserprofilebe.cxx b/extensions/source/config/ldap/ldapuserprofilebe.cxx
index 10f7ae002c47..a9ce79ebefce 100644
--- a/extensions/source/config/ldap/ldapuserprofilebe.cxx
+++ b/extensions/source/config/ldap/ldapuserprofilebe.cxx
@@ -140,7 +140,7 @@ bool LdapUserProfileBe::readLdapConfiguration(
     }
     catch (const uno::Exception & e)
     {
-        SAL_WARN("extensions.config", "LdapUserProfileBackend: access to configuration data failed: " << e.Message);
+        SAL_WARN("extensions.config", "LdapUserProfileBackend: access to configuration data failed: " << e);
         return false;
     }
 
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index e6d6a2cd0463..817fc5ac8175 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -534,7 +534,7 @@ UpdateCheckThread::run()
 
     catch(const uno::Exception& e) {
         // Silently catch all errors
-        SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e.Message );
+        SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e );
     }
 }
 
@@ -549,7 +549,7 @@ ManualUpdateCheckThread::run()
     }
     catch(const uno::Exception& e) {
         // Silently catch all errors
-        SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e.Message );
+        SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e );
     }
 }
 
diff --git a/extensions/source/update/check/updatecheckjob.cxx b/extensions/source/update/check/updatecheckjob.cxx
index b4885c83ae9a..2bbdf182f631 100644
--- a/extensions/source/update/check/updatecheckjob.cxx
+++ b/extensions/source/update/check/updatecheckjob.cxx
@@ -133,7 +133,7 @@ void SAL_CALL InitUpdateCheckJobThread::run()
             aController->showDialog( true );
     } catch (const uno::Exception &e) {
         // fdo#64962 - don't bring the app down on some unexpected exception.
-        SAL_WARN("extensions.update", "Caught init update exception, thread terminated. " << e.Message );
+        SAL_WARN("extensions.update", "Caught init update exception, thread terminated. " << e );
     }
 }
 
@@ -236,7 +236,7 @@ void UpdateCheckJob::handleExtensionUpdates( const uno::Sequence< beans::NamedVa
     }
     catch( const uno::Exception& e )
     {
-         SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e.Message);
+         SAL_WARN("extensions.update", "Caught exception, thread terminated. " << e);
     }
 }
 
diff --git a/extensions/source/update/feed/test/updatefeedtest.cxx b/extensions/source/update/feed/test/updatefeedtest.cxx
index a50cde2fa5a5..4c5efc97c5ba 100644
--- a/extensions/source/update/feed/test/updatefeedtest.cxx
+++ b/extensions/source/update/feed/test/updatefeedtest.cxx
@@ -73,7 +73,7 @@ SAL_IMPLEMENT_MAIN()
     }
     catch( const uno::Exception & e )
     {
-        SAL_WARN("extensions.update", "exception caught: " << e.Message);
+        SAL_WARN("extensions.update", "exception caught: " << e);
     }
     catch( ... )
     {
diff --git a/filter/qa/cppunit/xslt-test.cxx b/filter/qa/cppunit/xslt-test.cxx
index 7354cc85374f..6ec1ef7cd60a 100644
--- a/filter/qa/cppunit/xslt-test.cxx
+++ b/filter/qa/cppunit/xslt-test.cxx
@@ -76,7 +76,7 @@ private:
     virtual void SAL_CALL error(const uno::Any& e) override
     {
         notifyDone(); // set on error too, otherwise main thread waits forever
-        SAL_WARN("filter.xslt", "exception " << e);
+        SAL_WARN("filter.xslt", e);
         CPPUNIT_FAIL("exception while in XSLT");
     }
 
diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
index 423a35c2e955..a844edeb132c 100644
--- a/filter/source/config/cache/filtercache.cxx
+++ b/filter/source/config/cache/filtercache.cxx
@@ -875,7 +875,7 @@ css::uno::Any FilterCache::impl_getDirectCFGValue(const OUString& sDirectKey)
         { throw; }
     catch(const css::uno::Exception& ex)
         {
-            SAL_WARN( "filter.config", ex.Message);
+            SAL_WARN( "filter.config", ex);
             aValue.clear();
         }
 
diff --git a/filter/source/config/cache/typedetection.cxx b/filter/source/config/cache/typedetection.cxx
index d0c096ce28d8..3355618042c0 100644
--- a/filter/source/config/cache/typedetection.cxx
+++ b/filter/source/config/cache/typedetection.cxx
@@ -448,10 +448,8 @@ OUString SAL_CALL TypeDetection::queryTypeByDescriptor(css::uno::Sequence< css::
     }
     catch(const css::uno::Exception& e)
     {
-        SAL_WARN(
-            "filter.config",
-            "caught Exception \"" << e.Message
-                << "\" while querying type of <" << sURL << ">");
+        SAL_WARN("filter.config", "caught " << e
+                << " while querying type of " << sURL);
         sType.clear();
     }
 
diff --git a/filter/source/msfilter/eschesdo.cxx b/filter/source/msfilter/eschesdo.cxx
index fa10575b506c..9e9ed04dcc3e 100644
--- a/filter/source/msfilter/eschesdo.cxx
+++ b/filter/source/msfilter/eschesdo.cxx
@@ -1234,7 +1234,7 @@ sal_uInt32 ImplEESdrObject::ImplGetText()
         }
         catch (const uno::RuntimeException& e)
         {
-            SAL_WARN("filter.ms", "ImplGetText exception: " << e.Message);
+            SAL_WARN("filter.ms", "ImplGetText: " << e);
         }
     }
     return mnTextSize;
diff --git a/filter/source/odfflatxml/OdfFlatXml.cxx b/filter/source/odfflatxml/OdfFlatXml.cxx
index 685d6ebce9eb..381e8429e612 100644
--- a/filter/source/odfflatxml/OdfFlatXml.cxx
+++ b/filter/source/odfflatxml/OdfFlatXml.cxx
@@ -152,9 +152,7 @@ OdfFlatXml::importer(
     }
     catch (const Exception &exc)
     {
-        SAL_WARN(
-            "filter.odfflatxml",
-            "caught exception \"" << exc.Message << "\"");
+        SAL_WARN("filter.odfflatxml", exc);
         return false;
     }
     return true;
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 2655868a5645..67b195397e4e 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -1762,7 +1762,7 @@ IMPL_LINK_NOARG( ImpPDFTabSigningPage, ClickmaPbSignCertSelect, Button*, void )
         }
         catch (const uno::Exception &e)
         {
-            SAL_INFO("filter.pdf", "TSAURLsDialog::TSAURLsDialog(): caught exception" << e.Message);
+            SAL_INFO("filter.pdf", "TSAURLsDialog::TSAURLsDialog(): " << e);
         }
 
         // If more than only the "None" entry is there, enable the ListBox
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index 794fbd8ba502..cba3d3210ad9 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -374,7 +374,7 @@ OUString SAL_CALL SVGFilter::detect(Sequence<PropertyValue>& rDescriptor)
                 return OUString(constFilterName);
         }
     } catch (css::io::IOException & e) {
-        SAL_WARN("filter.svg", "caught IOException " + e.Message);
+        SAL_WARN("filter.svg", "caught " << e);
     }
     return OUString();
 }
diff --git a/filter/source/svg/test/svg2odf.cxx b/filter/source/svg/test/svg2odf.cxx
index d088d2552384..1f8f751d3751 100644
--- a/filter/source/svg/test/svg2odf.cxx
+++ b/filter/source/svg/test/svg2odf.cxx
@@ -120,7 +120,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
     }
     catch (const uno::Exception& e)
     {
-        SAL_WARN("filter.svg", "Fatal exception: " << e.Message);
+        SAL_WARN("filter.svg", "Fatal exception: " << e);
         return 1;
     }
     catch (const std::exception &e)
diff --git a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
index 03a3b2bc746b..892cb3989593 100644
--- a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
+++ b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
@@ -161,7 +161,7 @@ bool SAL_CALL XmlFilterAdaptor::importImpl( const Sequence< css::beans::Property
         if (xStatusIndicator.is())
                xStatusIndicator->end();
 
-        SAL_WARN("filter.xmlfa", "XmlFilterAdaptor: exception: " << e.Message);
+        SAL_WARN("filter.xmlfa", "XmlFilterAdaptor: " << e);
         return false;
     }
     if (xStatusIndicator.is()) {
@@ -272,7 +272,7 @@ bool SAL_CALL XmlFilterAdaptor::exportImpl( const Sequence< css::beans::Property
     }
     catch (const Exception& e)
     {
-        SAL_WARN("filter.xmlfa", "XmlFilterAdaptor: exception: " << e.Message);
+        SAL_WARN("filter.xmlfa", "XmlFilterAdaptor: " << e);
         if (xStatusIndicator.is())
             xStatusIndicator->end();
         return false;
diff --git a/filter/source/xsltfilter/XSLTFilter.cxx b/filter/source/xsltfilter/XSLTFilter.cxx
index 5373db29aa73..20d552558c14 100644
--- a/filter/source/xsltfilter/XSLTFilter.cxx
+++ b/filter/source/xsltfilter/XSLTFilter.cxx
@@ -233,7 +233,7 @@ namespace XSLT
         Exception e;
         if (a >>= e)
         {
-            SAL_WARN("filter.xslt", "XSLTFilter::error was called: " << e.Message);
+            SAL_WARN("filter.xslt", "XSLTFilter::error was called: " << e);
         }
         m_bError = true;
         m_cTransformed.set();
@@ -402,7 +402,7 @@ namespace XSLT
                 catch( const Exception& exc)
                     {
                         // something went wrong
-                        SAL_WARN("filter.xslt", exc.Message);
+                        SAL_WARN("filter.xslt", exc);
                         return false;
                     }
             }
diff --git a/forms/source/component/Edit.cxx b/forms/source/component/Edit.cxx
index 478c9b9c94f1..0b5dc04019a9 100644
--- a/forms/source/component/Edit.cxx
+++ b/forms/source/component/Edit.cxx
@@ -445,7 +445,7 @@ namespace
                 {
                     SAL_WARN( "forms.component", "could not transfer the property named '"
                                 << sourceprop.Name
-                                << "'. " << e.Message );
+                                << "'. " << e );
                 }
             }
         }
diff --git a/forms/source/xforms/submission/replace.cxx b/forms/source/xforms/submission/replace.cxx
index e569e2634b63..8804c3c92b4b 100644
--- a/forms/source/xforms/submission/replace.cxx
+++ b/forms/source/xforms/submission/replace.cxx
@@ -101,7 +101,7 @@ CSubmission::SubmissionResult CSubmission::replace(const OUString& aReplace, con
             return CSubmission::SUCCESS;
         }
     } catch (const Exception& e) {
-        SAL_WARN( "forms.xforms", "Exception during replace: " << e.Message);
+        SAL_WARN( "forms.xforms", "Exception during replace: " << e);
     }
     return CSubmission::UNKNOWN_ERROR;
 }
diff --git a/framework/source/dispatch/servicehandler.cxx b/framework/source/dispatch/servicehandler.cxx
index 83c7535cadf1..a6588bad7ec9 100644
--- a/framework/source/dispatch/servicehandler.cxx
+++ b/framework/source/dispatch/servicehandler.cxx
@@ -217,8 +217,7 @@ css::uno::Reference< css::uno::XInterface > ServiceHandler::implts_dispatch( con
     // because it contains syntax errors, which was detected at runtime...
     catch(const css::uno::Exception& e)
     {
-        SAL_WARN(
-            "fwk.dispatch", "ignored UNO Exception \"" << e.Message << '"');
+        SAL_WARN("fwk.dispatch", "ignored " << e);
         xService.clear();
     }
 
diff --git a/framework/source/fwi/jobs/configaccess.cxx b/framework/source/fwi/jobs/configaccess.cxx
index 13d3118d1a4a..7ce56e433e38 100644
--- a/framework/source/fwi/jobs/configaccess.cxx
+++ b/framework/source/fwi/jobs/configaccess.cxx
@@ -128,7 +128,7 @@ void ConfigAccess::open( /*IN*/ EOpenMode eMode )
         }
         catch(const css::uno::Exception& ex)
         {
-            SAL_INFO("fwk", "open config: " << ex.Message);
+            SAL_INFO("fwk", "open config: " << ex);
         }
 
         m_eMode = E_CLOSED;
diff --git a/framework/source/jobs/job.cxx b/framework/source/jobs/job.cxx
index 0f8741f8c377..f7b18482dfa0 100644
--- a/framework/source/jobs/job.cxx
+++ b/framework/source/jobs/job.cxx
@@ -216,7 +216,7 @@ void Job::execute( /*IN*/ const css::uno::Sequence< css::beans::NamedValue >& lD
     #if OSL_DEBUG_LEVEL > 0
     catch(const css::uno::Exception& ex)
     {
-        SAL_INFO("fwk", "Job::execute(): Got exception during job execution. Original Message was: \"" << ex.Message << "\"");
+        SAL_INFO("fwk", "Job::execute(): Got exception during job execution. Original Message was: \"" << ex << "\"");
     }
     #else
     catch(const css::uno::Exception&)
diff --git a/framework/source/services/sessionlistener.cxx b/framework/source/services/sessionlistener.cxx
index ec26813e814e..e47dae89135d 100644
--- a/framework/source/services/sessionlistener.cxx
+++ b/framework/source/services/sessionlistener.cxx
@@ -188,7 +188,7 @@ void SessionListener::StoreSession( bool bAsync )
         args[0] = PropertyValue("DispatchAsynchron",-1,makeAny(bAsync),PropertyState_DIRECT_VALUE);
         xDispatch->dispatch(aURL, args);
     } catch (const css::uno::Exception& e) {
-        SAL_WARN("fwk.session",e.Message);
+        SAL_WARN("fwk.session",e);
         // save failed, but tell manager to go on if we haven't yet dispatched the request
         // in case of synchronous saving the notification is done by the caller
         if ( bAsync && m_rSessionManager.is() )
@@ -216,7 +216,7 @@ void SessionListener::QuitSessionQuietly()
         args[0] = PropertyValue("DispatchAsynchron",-1,makeAny(false),PropertyState_DIRECT_VALUE);
         xDispatch->dispatch(aURL, args);
     } catch (const css::uno::Exception& e) {
-        SAL_WARN("fwk.session",e.Message);
+        SAL_WARN("fwk.session",e);
     }
 }
 
@@ -304,7 +304,7 @@ sal_Bool SAL_CALL SessionListener::doRestore()
         m_bRestored = true;
 
     } catch (const css::uno::Exception& e) {
-        SAL_WARN("fwk.session",e.Message);
+        SAL_WARN("fwk.session",e);
     }
 
     return m_bRestored;
diff --git a/framework/source/uielement/popuptoolbarcontroller.cxx b/framework/source/uielement/popuptoolbarcontroller.cxx
index 202f3fa85dc8..4d0ea6821b81 100644
--- a/framework/source/uielement/popuptoolbarcontroller.cxx
+++ b/framework/source/uielement/popuptoolbarcontroller.cxx
@@ -142,7 +142,7 @@ void SAL_CALL PopupMenuToolbarController::initialize(
     }
     catch (const css::uno::Exception& e)
     {
-        SAL_INFO( "fwk.uielement", "Caught an exception: " << e.Message );
+        SAL_INFO( "fwk.uielement", e );
     }
 
     SolarMutexGuard aSolarLock;
@@ -250,7 +250,7 @@ void PopupMenuToolbarController::createPopupMenuController()
         catch ( const css::uno::Exception &e )
         {
             m_xPopupMenu.clear();
-            SAL_INFO( "fwk.uielement", "Caught an exception: " << e.Message );
+            SAL_INFO( "fwk.uielement", e );
         }
     }
 }
diff --git a/include/toolkit/helper/macros.hxx b/include/toolkit/helper/macros.hxx
index 25c3e3d4c33f..5730a7e35d3b 100644
--- a/include/toolkit/helper/macros.hxx
+++ b/include/toolkit/helper/macros.hxx
@@ -116,7 +116,7 @@ void ClassName::disposing( const css::lang::EventObject& ) \
 
 #if OSL_DEBUG_LEVEL > 0
     #define DISPLAY_EXCEPTION( ClassName, MethodName, e )    \
-        SAL_WARN( "toolkit", #ClassName "::" #MethodName ": caught an exception! " << e.Message);
+        SAL_WARN( "toolkit", #ClassName "::" #MethodName ": caught an exception! " << e);
 #else
     #define DISPLAY_EXCEPTION( ClassName, MethodName, e ) (void)e;
 #endif
diff --git a/io/source/stm/opump.cxx b/io/source/stm/opump.cxx
index cf8a356901e8..e7d5bf758b43 100644
--- a/io/source/stm/opump.cxx
+++ b/io/source/stm/opump.cxx
@@ -134,7 +134,7 @@ void Pump::fireError( const  Any & exception )
         }
         catch ( const RuntimeException &e )
         {
-            SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e.Message);
+            SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
         }
     }
 }
@@ -162,7 +162,7 @@ void Pump::fireClose()
             }
             catch ( const RuntimeException &e )
             {
-                SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e.Message);
+                SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
             }
         }
     }
@@ -179,7 +179,7 @@ void Pump::fireStarted()
         }
         catch ( const RuntimeException &e )
         {
-            SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e.Message);
+            SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
         }
     }
 }
@@ -195,7 +195,7 @@ void Pump::fireTerminated()
         }
         catch ( const RuntimeException &e )
         {
-            SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e.Message);

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list