Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 10420)
@@ -439,4 +439,22 @@
 
     /**
+     * Prints a debug message for the given Throwable. Useful for exceptions usually ignored
+     * @param t The throwable object causing the error
+     * @since 10419
+     */
+    public static void debug(Throwable t) {
+        debug(getErrorMessage(t));
+    }
+
+    /**
+     * Prints a trace message for the given Throwable. Useful for exceptions usually ignored
+     * @param t The throwable object causing the error
+     * @since 10419
+     */
+    public static void trace(Throwable t) {
+        trace(getErrorMessage(t));
+    }
+
+    /**
      * Prints an error message for the given Throwable.
      * @param t The throwable object causing the error
@@ -452,4 +470,14 @@
 
     /**
+     * Prints an error message for the given Throwable.
+     * @param t The throwable object causing the error
+     * @param message additional error message
+     * @since 10419
+     */
+    public static void error(Throwable t, String message) {
+        warn(message + ' ' + getErrorMessage(t));
+    }
+
+    /**
      * Prints a warning message for the given Throwable.
      * @param t The throwable object causing the error
@@ -462,4 +490,14 @@
             t.printStackTrace();
         }
+    }
+
+    /**
+     * Prints a warning message for the given Throwable.
+     * @param t The throwable object causing the error
+     * @param message additional error message
+     * @since 10419
+     */
+    public static void warn(Throwable t, String message) {
+        warn(message + ' ' + getErrorMessage(t));
     }
 
@@ -1172,5 +1210,5 @@
             pref.saveDefaults();
         } catch (IOException ex) {
-            Main.warn(tr("Failed to save default preferences."));
+            Main.warn(ex, tr("Failed to save default preferences."));
         }
         worker.shutdownNow();
Index: trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java	(revision 10420)
@@ -81,7 +81,5 @@
             saveSession();
         } catch (UserCancelException ignore) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ignore.getMessage());
-            }
+            Main.trace(ignore);
         }
     }
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 10420)
@@ -82,5 +82,5 @@
             unglue(e);
         } catch (UserCancelException ignore) {
-            Main.debug(ignore.getMessage());
+            Main.trace(ignore);
         } finally {
             cleanup();
@@ -300,10 +300,9 @@
      */
     private void unglueOneNodeAtMostOneWay(ActionEvent e) {
-        List<Command> cmds = new LinkedList<>();
-
         final PropertiesMembershipDialog dialog;
         try {
             dialog = PropertiesMembershipDialog.showIfNecessary(Collections.singleton(selectedNode), true);
-        } catch (UserCancelException e1) {
+        } catch (UserCancelException ex) {
+            Main.trace(ex);
             return;
         }
@@ -311,4 +310,5 @@
         final Node n = new Node(selectedNode, true);
 
+        List<Command> cmds = new LinkedList<>();
         cmds.add(new AddCommand(n));
         if (dialog != null) {
@@ -513,14 +513,14 @@
      */
     private void unglueWays() {
-        List<Command> cmds = new LinkedList<>();
-        List<Node> newNodes = new LinkedList<>();
-
         final PropertiesMembershipDialog dialog;
         try {
             dialog = PropertiesMembershipDialog.showIfNecessary(Collections.singleton(selectedNode), false);
         } catch (UserCancelException e) {
+            Main.trace(e);
             return;
         }
 
+        List<Command> cmds = new LinkedList<>();
+        List<Node> newNodes = new LinkedList<>();
         if (selectedWay == null) {
             Way wayWithSelectedNode = null;
@@ -573,5 +573,4 @@
     private boolean unglueSelfCrossingWay() {
         // According to previous check, only one valid way through that node
-        List<Command> cmds = new LinkedList<>();
         Way way = null;
         for (Way w: OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class)) {
@@ -583,4 +582,5 @@
             return false;
         }
+        List<Command> cmds = new LinkedList<>();
         List<Node> oldNodes = way.getNodes();
         List<Node> newNodes = new ArrayList<>(oldNodes.size());
@@ -617,5 +617,5 @@
             return true;
         } catch (UserCancelException ignore) {
-            Main.debug(ignore.getMessage());
+            Main.trace(ignore);
         }
         return false;
@@ -627,6 +627,4 @@
      */
     private void unglueOneWayAnyNodes() {
-        List<Command> cmds = new LinkedList<>();
-        List<Node> allNewNodes = new LinkedList<>();
         Way tmpWay = selectedWay;
 
@@ -635,7 +633,10 @@
             dialog = PropertiesMembershipDialog.showIfNecessary(selectedNodes, false);
         } catch (UserCancelException e) {
+            Main.trace(e);
             return;
         }
 
+        List<Command> cmds = new LinkedList<>();
+        List<Node> allNewNodes = new LinkedList<>();
         for (Node n : selectedNodes) {
             List<Node> newNodes = new LinkedList<>();
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java	(revision 10420)
@@ -76,4 +76,5 @@
                 // the download was canceled by the user. This exception is caught if the user canceled the authentication dialog.
                 setCanceled(true);
+                Main.trace(e);
                 return;
             } catch (OsmTransferException e) {
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetQueryTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetQueryTask.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetQueryTask.java	(revision 10420)
@@ -71,4 +71,5 @@
                 // thrown if user cancel the authentication dialog
                 setCanceled(true);
+                Main.trace(e);
             } catch (OsmTransferException e) {
                 if (isCanceled())
Index: trunk/src/org/openstreetmap/josm/data/Version.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Version.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/Version.java	(revision 10420)
@@ -59,5 +59,5 @@
             properties.load(revisionInfo);
         } catch (IOException e) {
-            Main.warn(tr("Error reading revision info from revision file: {0}", e.getMessage()));
+            Main.warn(e, tr("Error reading revision info from revision file: {0}", e.getMessage()));
         }
         String value = properties.getProperty("Revision");
Index: trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java	(revision 10420)
@@ -63,7 +63,5 @@
                         url = job.getUrl();
                     } catch (IOException e) {
-                        if (Main.isDebugEnabled()) {
-                            Main.debug(e.getMessage());
-                        }
+                        Main.debug(e);
                     }
                     Main.debug("TMS - Skipping job {0} because host limit reached", url);
Index: trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java	(revision 10420)
@@ -25,4 +25,5 @@
 import org.openstreetmap.gui.jmapviewer.interfaces.TileSource;
 import org.openstreetmap.gui.jmapviewer.tilesources.AbstractTMSTileSource;
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry;
 import org.openstreetmap.josm.data.cache.CacheEntry;
@@ -154,4 +155,5 @@
         } catch (IOException e) {
             // if we fail to submit the job, mark tile as loaded and set error message
+            Main.warn(e, false);
             tile.finishLoading();
             tile.setError(e.getMessage());
Index: trunk/src/org/openstreetmap/josm/data/preferences/ParametrizedEnumProperty.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/preferences/ParametrizedEnumProperty.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/preferences/ParametrizedEnumProperty.java	(revision 10420)
@@ -28,4 +28,5 @@
             return Enum.valueOf(enumClass, s);
         } catch (IllegalArgumentException e) {
+            Main.trace(e);
             return defaultValue;
         }
Index: trunk/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java	(revision 10420)
@@ -20,4 +20,6 @@
 import java.util.Arrays;
 import java.util.Locale;
+
+import org.openstreetmap.josm.Main;
 
 /**
@@ -1847,4 +1849,5 @@
             }
         } catch (IllegalArgumentException e) { // input is not valid
+            Main.trace(e);
             return input;
         }
Index: trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 10420)
@@ -27,4 +27,6 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+
+import org.openstreetmap.josm.Main;
 
 /**
@@ -454,8 +456,9 @@
             String norm = uri.normalize().getPath();
             if (norm.startsWith("/../") // Trying to go via the parent dir
-             || norm.equals("/..")) {   // Trying to go to the parent dir
+             || "/..".equals(norm)) {   // Trying to go to the parent dir
                 return false;
             }
         } catch (URISyntaxException e) {
+            Main.trace(e);
             return false;
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 10420)
@@ -1428,5 +1428,6 @@
                 tagRowSorter.convertRowIndexToModel(tagTable.getSelectedRow());
             } catch (IndexOutOfBoundsException ignore) {
-                Main.debug("Clearing tagTable selection, {0}", ignore.toString());
+                Main.debug(ignore);
+                Main.debug("Clearing tagTable selection");
                 tagTable.clearSelection();
             }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAfterSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAfterSelection.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAfterSelection.java	(revision 10420)
@@ -8,6 +8,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
+import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
-import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -43,7 +43,5 @@
                     memberTableModel.getSelectionModel().getMaxSelectionIndex());
         } catch (AddAbortException ex) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ex.getMessage());
-            }
+            Main.trace(ex);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtEndAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtEndAction.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtEndAction.java	(revision 10420)
@@ -8,6 +8,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
+import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
-import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -42,7 +42,5 @@
             memberTableModel.addMembersAtEnd(filterConfirmedPrimitives(selectionTableModel.getSelection()));
         } catch (AddAbortException ex) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ex.getMessage());
-            }
+            Main.trace(ex);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtStartAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtStartAction.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtStartAction.java	(revision 10420)
@@ -8,6 +8,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
+import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
-import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -42,7 +42,5 @@
             memberTableModel.addMembersAtBeginning(filterConfirmedPrimitives(selectionTableModel.getSelection()));
         } catch (AddAbortException ex) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ex.getMessage());
-            }
+            Main.trace(ex);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedBeforeSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedBeforeSelection.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedBeforeSelection.java	(revision 10420)
@@ -8,6 +8,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
+import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
-import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -43,7 +43,5 @@
                     memberTableModel.getSelectionModel().getMinSelectionIndex());
         } catch (AddAbortException ex) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ex.getMessage());
-            }
+            Main.trace(ex);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/PasteMembersAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/PasteMembersAction.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/PasteMembersAction.java	(revision 10420)
@@ -15,6 +15,6 @@
 import org.openstreetmap.josm.data.osm.PrimitiveData;
 import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
+import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
-import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
@@ -71,7 +71,5 @@
 
         } catch (AddAbortException ex) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ex.getMessage());
-            }
+            Main.trace(ex);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 10420)
@@ -374,7 +374,5 @@
                 closeDialog();
             } catch (UserCancelException ignore) {
-                if (Main.isTraceEnabled()) {
-                    Main.trace(ignore.getMessage());
-                }
+                Main.trace(ignore);
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 10420)
@@ -295,7 +295,5 @@
                 }
             } catch (IllegalArgumentException ignore) {
-                if (Main.isTraceEnabled()) {
-                    Main.trace(ignore.getMessage());
-                }
+                Main.trace(ignore);
             }
             final int type = image.getTransparency() == Transparency.OPAQUE ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB;
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 10420)
@@ -1032,4 +1032,5 @@
                 delta = r.b;
             } catch (IndexOutOfBoundsException ex) {
+                Main.debug(ex);
                 JOptionPane.showMessageDialog(Main.parent,
                         tr("The selected photos do not contain time information."),
@@ -1037,4 +1038,5 @@
                 return;
             } catch (NoGpxTimestamps ex) {
+                Main.debug(ex);
                 JOptionPane.showMessageDialog(Main.parent,
                         tr("The selected GPX track does not contain timestamps. Please select another one."),
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java	(revision 10420)
@@ -447,4 +447,5 @@
             setExifTime(ExifReader.readTime(file));
         } catch (RuntimeException ex) {
+            Main.warn(ex);
             setExifTime(null);
         }
@@ -467,7 +468,5 @@
             }
         } catch (MetadataException ex) {
-            if (Main.isDebugEnabled()) {
-                Main.debug(ex.getMessage());
-            }
+            Main.debug(ex);
         }
 
@@ -491,7 +490,5 @@
             setSpeed(speed);
         } catch (MetadataException ex) {
-            if (Main.isDebugEnabled()) {
-                Main.debug(ex.getMessage());
-            }
+            Main.debug(ex);
         }
 
@@ -504,7 +501,5 @@
             setElevation(ele);
         } catch (MetadataException ex) {
-            if (Main.isDebugEnabled()) {
-                Main.debug(ex.getMessage());
-            }
+            Main.debug(ex);
         }
 
@@ -526,7 +521,5 @@
             }
         } catch (IndexOutOfBoundsException ex) { // (other exceptions, e.g. #5271)
-            if (Main.isDebugEnabled()) {
-                Main.debug(ex.getMessage());
-            }
+            Main.debug(ex);
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 10420)
@@ -329,4 +329,5 @@
                     entry.url);
             Main.error(msg);
+            Main.debug(e);
             HelpAwareOptionPane.showOptionDialog(Main.parent, msg, tr("Warning"), JOptionPane.WARNING_MESSAGE,
                     HelpUtil.ht("/Styles/MapCSSImplementation"));
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java	(revision 10420)
@@ -128,7 +128,5 @@
                         rotationAngle = RotationAngle.buildStaticRotation(rotationKW.val);
                     } catch (IllegalArgumentException ignore) {
-                        if (Main.isTraceEnabled()) {
-                            Main.trace(ignore.getMessage());
-                        }
+                        Main.trace(ignore);
                     }
                 }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java	(revision 10420)
@@ -167,7 +167,5 @@
             }
         } catch (RuntimeException ignore) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(ignore.getMessage());
-            }
+            Main.debug(ignore);
         }
         return null;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java	(revision 10420)
@@ -324,5 +324,5 @@
                 wizard.showDialog();
             } catch (UserCancelException ignore) {
-                Main.trace(ignore.toString());
+                Main.trace(ignore);
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 10420)
@@ -450,4 +450,5 @@
                     Main.error(tr("Broken tagging preset \"{0}-{1}\" - Java method given in ''values_from'' threw {2} ({3})", key, text,
                             e.getClass().getName(), e.getMessage()));
+                    Main.debug(e);
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java	(revision 10420)
@@ -578,7 +578,5 @@
             return JOptionPane.getFrameForComponent(parentComponent);
         } catch (HeadlessException e) {
-            if (Main.isDebugEnabled()) {
-                Main.debug(e.getMessage());
-            }
+            Main.debug(e);
             return null;
         }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java	(revision 10420)
@@ -9,4 +9,5 @@
 import javax.swing.text.JTextComponent;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.search.SearchCompiler;
 
@@ -46,4 +47,5 @@
             textComponent.setToolTipText(ex.getMessage());
             filter = SearchCompiler.Always.INSTANCE;
+            Main.debug(ex);
         }
         textComponent.firePropertyChange("filter", 0, 1);
Index: trunk/src/org/openstreetmap/josm/io/OsmServerReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 10420)
@@ -160,10 +160,5 @@
                 if (response.getResponseCode() != HttpURLConnection.HTTP_OK) {
                     String errorHeader = response.getHeaderField("Error");
-                    String errorBody;
-                    try {
-                        errorBody = response.fetchContent();
-                    } catch (IOException e) {
-                        errorBody = tr("Reading error text failed.");
-                    }
+                    String errorBody = fetchResponseText(response);
                     throw new OsmApiException(response.getResponseCode(), errorHeader, errorBody, url.toString());
                 }
@@ -178,4 +173,13 @@
         } finally {
             progressMonitor.invalidate();
+        }
+    }
+
+    private static String fetchResponseText(final HttpClient.Response response) {
+        try {
+            return response.fetchContent();
+        } catch (IOException e) {
+            Main.error(e);
+            return tr("Reading error text failed.");
         }
     }
Index: trunk/src/org/openstreetmap/josm/tools/HttpClient.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 10420)
@@ -262,4 +262,5 @@
                 in = connection.getInputStream();
             } catch (IOException ioe) {
+                Main.debug(ioe);
                 in = connection.getErrorStream();
             }
Index: trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportExceptionHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportExceptionHandler.java	(revision 10418)
+++ trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportExceptionHandler.java	(revision 10420)
@@ -103,5 +103,5 @@
                     }
                 } catch (IOException | NumberFormatException ex) {
-                    Main.warn("Unable to detect latest version of JOSM: "+ex.getMessage());
+                    Main.warn(ex, "Unable to detect latest version of JOSM:");
                 }
             }
@@ -137,5 +137,5 @@
                     Main.platform.openUrl(Main.getJOSMWebsite());
                 } catch (IOException ex) {
-                    Main.warn("Unable to access JOSM website: "+ex.getMessage());
+                    Main.warn(ex, "Unable to access JOSM website:");
                 }
             } else {
