Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 10463)
@@ -1013,4 +1013,5 @@
         } catch (final NoClassDefFoundError | ClassNotFoundException e) {
             // Try to find look and feel in plugin classloaders
+            Main.trace(e);
             Class<?> klass = null;
             for (ClassLoader cl : PluginHandler.getResourceClassLoaders()) {
@@ -1019,7 +1020,5 @@
                     break;
                 } catch (ClassNotFoundException ex) {
-                    if (Main.isTraceEnabled()) {
-                        Main.trace(ex.getMessage());
-                    }
+                    Main.trace(ex);
                 }
             }
@@ -1028,8 +1027,9 @@
                     UIManager.setLookAndFeel((LookAndFeel) klass.getConstructor().newInstance());
                 } catch (ReflectiveOperationException ex) {
-                    warn("Cannot set Look and Feel: " + laf + ": "+ex.getMessage());
+                    warn(ex, "Cannot set Look and Feel: " + laf + ": "+ex.getMessage());
                 } catch (UnsupportedLookAndFeelException ex) {
                     info("Look and Feel not supported: " + laf);
                     Main.pref.put("laf", defaultlaf);
+                    trace(ex);
                 }
             } else {
@@ -1040,4 +1040,5 @@
             info("Look and Feel not supported: " + laf);
             Main.pref.put("laf", defaultlaf);
+            trace(e);
         } catch (InstantiationException | IllegalAccessException e) {
             error(e);
@@ -1065,7 +1066,7 @@
             CoordinateFormat.setCoordinateFormat(CoordinateFormat.valueOf(Main.pref.get("coordinates")));
         } catch (IllegalArgumentException iae) {
+            Main.trace(iae);
             CoordinateFormat.setCoordinateFormat(CoordinateFormat.DECIMAL_DEGREES);
         }
-
     }
 
@@ -1218,4 +1219,5 @@
                     f = new File(new URI(s));
                 } catch (URISyntaxException e) {
+                    Main.warn(e);
                     JOptionPane.showMessageDialog(
                             Main.parent,
Index: trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 10463)
@@ -29,4 +29,5 @@
 import org.openstreetmap.josm.io.imagery.WMSImagery;
 import org.openstreetmap.josm.io.imagery.WMSImagery.LayerDetails;
+import org.openstreetmap.josm.io.imagery.WMSImagery.WMSGetCapabilitiesException;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -151,10 +152,10 @@
             }
             Main.error(ex, false);
-        } catch (WMSImagery.WMSGetCapabilitiesException ex) {
+        } catch (WMSGetCapabilitiesException ex) {
             if (!GraphicsEnvironment.isHeadless()) {
                 JOptionPane.showMessageDialog(Main.parent, tr("Could not parse WMS layer list."),
                         tr("WMS Error"), JOptionPane.ERROR_MESSAGE);
             }
-            Main.error("Could not parse WMS layer list. Incoming data:\n"+ex.getIncomingData());
+            Main.error(ex, "Could not parse WMS layer list. Incoming data:\n"+ex.getIncomingData());
         }
         return null;
Index: trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 10463)
@@ -208,4 +208,5 @@
 
         } catch (InvalidSelection except) {
+            Main.debug(except);
             new Notification(except.getMessage())
                 .setIcon(JOptionPane.INFORMATION_MESSAGE)
Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 10463)
@@ -224,4 +224,5 @@
             combineResult = combineWaysWorker(selectedWays);
         } catch (UserCancelException ex) {
+            Main.trace(ex);
             return;
         }
Index: trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 10463)
@@ -67,7 +67,5 @@
                 importers.add(importer);
             } catch (ReflectiveOperationException e) {
-                if (Main.isDebugEnabled()) {
-                    Main.debug(e.getMessage());
-                }
+                Main.debug(e);
             } catch (ServiceConfigurationError e) {
                 // error seen while initializing WMSLayerImporter in plugin unit tests:
@@ -108,7 +106,5 @@
                 Main.getLayerManager().addAndFireActiveLayerChangeListener(exporter);
             } catch (ReflectiveOperationException e) {
-                if (Main.isDebugEnabled()) {
-                    Main.debug(e.getMessage());
-                }
+                Main.debug(e);
             } catch (ServiceConfigurationError e) {
                 // see above in importers initialization
Index: trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10463)
@@ -508,4 +508,5 @@
             }
         } catch (UserCancelException exception) {
+            Main.trace(exception);
             //revert changes
             //FIXME: this is dirty hack
@@ -681,4 +682,5 @@
             return true;
         } catch (UserCancelException ex) {
+            Main.trace(ex);
             return false;
         }
Index: trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java	(revision 10463)
@@ -191,5 +191,5 @@
                         break outer;
                     } catch (IllegalStateException ex) {
-                        Main.error(ex.getMessage());
+                        Main.error(ex, false);
                     }
                 }
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 10463)
@@ -346,4 +346,5 @@
                     trn("Merge {0} node", "Merge {0} nodes", nodes.size(), nodes.size()), cmds);
         } catch (UserCancelException ex) {
+            Main.trace(ex);
             return null;
         }
Index: trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 10463)
@@ -118,4 +118,5 @@
                 }
             } catch (InvalidUserInputException ex) {
+                Main.debug(ex);
                 new Notification(
                         tr("Orthogonalize Shape / Undo<br>"+
@@ -154,4 +155,5 @@
             Main.map.repaint();
         } catch (InvalidUserInputException ex) {
+            Main.debug(ex);
             String msg;
             if ("usage".equals(ex.getMessage())) {
Index: trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 10463)
@@ -96,4 +96,5 @@
                 revResult = reverseWay(w);
             } catch (UserCancelException ex) {
+                Main.trace(ex);
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 10463)
@@ -136,7 +136,5 @@
             }
         } catch (SecurityException e) {
-            if (Main.isTraceEnabled()) {
-                Main.trace(e.getMessage());
-            }
+            Main.trace(e);
         }
         List<String> commandLineArgs = Main.getCommandLineArgs();
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java	(revision 10463)
@@ -21,4 +21,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.BoundingBoxDownloader;
+import org.openstreetmap.josm.io.BoundingBoxDownloader.MoreNotesException;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.io.OsmServerLocationReader;
@@ -147,5 +148,6 @@
             try {
                 notesData = reader.parseNotes(DOWNLOAD_LIMIT.get(), DAYS_CLOSED.get(), subMonitor);
-            } catch (BoundingBoxDownloader.MoreNotesException e) {
+            } catch (MoreNotesException e) {
+                Main.debug(e);
                 notesData = e.notes;
                 JOptionPane.showMessageDialog(Main.parent, "<html>"
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java	(revision 10463)
@@ -181,5 +181,5 @@
                             data.setVisible(hp.isVisible());
                         } catch (IllegalStateException e) {
-                            Main.error("Cannot change visibility for "+p+": "+e.getMessage());
+                            Main.error(e, "Cannot change visibility for "+p+':');
                         }
                         data.setTimestamp(hp.getTimestamp());
@@ -193,5 +193,5 @@
                             it.remove();
                         } catch (AssertionError e) {
-                            Main.error("Cannot load "+p + ": " + e.getMessage());
+                            Main.error(e, "Cannot load "+p+':');
                         }
                     }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 10463)
@@ -1195,4 +1195,5 @@
                     + (unitvector.getY() * linelength)));
         } catch (NoninvertibleTransformException e) {
+            Main.debug(e);
             return new Line2D.Double(start, new Point2D.Double(start.getX() + (unitvector.getX() * 10), start.getY()
                     + (unitvector.getY() * 10)));
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 10463)
@@ -546,4 +546,5 @@
             return true;
         } catch (IllegalArgumentException e) {
+            Main.debug(e);
             new Notification(tr("ParallelWayAction\n" +
                     "The ways selected must form a simple branchless path"))
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 10463)
@@ -351,4 +351,5 @@
                         super.buttonAction(buttonIndex, evt);
                     } catch (ParseError e) {
+                        Main.debug(e);
                         JOptionPane.showMessageDialog(
                                 Main.parent,
@@ -704,5 +705,6 @@
                 }
                 subMonitor.finishTask();
-            } catch (SearchCompiler.ParseError e) {
+            } catch (ParseError e) {
+                Main.debug(e);
                 JOptionPane.showMessageDialog(
                         Main.parent,
Index: trunk/src/org/openstreetmap/josm/actions/upload/ApiPreconditionCheckerHook.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/upload/ApiPreconditionCheckerHook.java	(revision 10462)
+++ trunk/src/org/openstreetmap/josm/actions/upload/ApiPreconditionCheckerHook.java	(revision 10463)
@@ -42,4 +42,5 @@
             }
         } catch (OsmTransferCanceledException e) {
+            Main.trace(e);
             return false;
         } catch (OsmApiInitializationException e) {
