Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 32179)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 32180)
@@ -10,4 +10,5 @@
 import java.awt.event.ActionListener;
 import java.awt.event.MouseEvent;
+import java.net.URL;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -170,8 +171,9 @@
         add(zoomSlider);
         int size = 18;
-        try {
-            ImageIcon icon = new ImageIcon(JMapViewer.class.getResource("images/plus.png"));
+        URL url = JMapViewer.class.getResource("images/plus.png");
+        if (url != null) {
+            ImageIcon icon = new ImageIcon(url);
             zoomInButton = new JButton(icon);
-        } catch (Exception e) {
+        } else {
             zoomInButton = new JButton("+");
             zoomInButton.setFont(new Font("sansserif", Font.BOLD, 9));
@@ -188,8 +190,9 @@
         zoomInButton.setFocusable(false);
         add(zoomInButton);
-        try {
-            ImageIcon icon = new ImageIcon(JMapViewer.class.getResource("images/minus.png"));
+        url = JMapViewer.class.getResource("images/minus.png");
+        if (url != null) {
+            ImageIcon icon = new ImageIcon(url);
             zoomOutButton = new JButton(icon);
-        } catch (Exception e) {
+        } else {
             zoomOutButton = new JButton("-");
             zoomOutButton.setFont(new Font("sansserif", Font.BOLD, 9));
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java	(revision 32179)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java	(revision 32180)
@@ -78,5 +78,5 @@
                 removeEntry(lruTiles.getLastElement());
             }
-        } catch (Exception e) {
+        } catch (NullPointerException e) {
             log.warning(e.getMessage());
         }
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 32179)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 32180)
@@ -62,5 +62,5 @@
                 tile.setLoaded(true);
                 listener.tileLoadingFinished(tile, true);
-            } catch (Exception e) {
+            } catch (IOException e) {
                 tile.setError(e.getMessage());
                 listener.tileLoadingFinished(tile, false);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java	(revision 32179)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java	(revision 32180)
@@ -82,5 +82,5 @@
         try {
             return ImageIO.read(JMapViewer.class.getResourceAsStream(path));
-        } catch (Exception ex) {
+        } catch (IOException | IllegalArgumentException ex) {
             ex.printStackTrace();
             return null;
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 32179)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 32180)
@@ -290,5 +290,5 @@
             }
             return a.toString();
-        } catch (Exception e) {
+        } catch (RuntimeException e) {
             e.printStackTrace();
         }
