ErrorProne: Enable and fix UnusedException check

Change-Id: I9fd9dac191f1bcaf2653fa9adfc7dac3cf5715ce
diff --git a/java/com/google/gitiles/DescribeServlet.java b/java/com/google/gitiles/DescribeServlet.java
index ae1d4c8..545f3aa 100644
--- a/java/com/google/gitiles/DescribeServlet.java
+++ b/java/com/google/gitiles/DescribeServlet.java
@@ -80,7 +80,7 @@
     try {
       return repo.resolve(rev);
     } catch (RevisionSyntaxException e) {
-      throw new GitilesRequestFailureException(FailureReason.INCORECT_PARAMETER)
+      throw new GitilesRequestFailureException(FailureReason.INCORECT_PARAMETER, e)
           .withPublicErrorMessage(
               "Invalid revision syntax: %s", RefServlet.sanitizeRefForText(rev));
     } catch (AmbiguousObjectException e) {
diff --git a/java/com/google/gitiles/GitwebRedirectFilter.java b/java/com/google/gitiles/GitwebRedirectFilter.java
index 0d0c74f..cc8bca0 100644
--- a/java/com/google/gitiles/GitwebRedirectFilter.java
+++ b/java/com/google/gitiles/GitwebRedirectFilter.java
@@ -131,7 +131,7 @@
               .setServletPath(gitwebView.getServletPath())
               .toUrl();
     } catch (InvalidViewException e) {
-      throw new GitilesRequestFailureException(FailureReason.UNSUPPORTED_GITWEB_URL);
+      throw new GitilesRequestFailureException(FailureReason.UNSUPPORTED_GITWEB_URL, e);
     }
     res.setStatus(SC_MOVED_PERMANENTLY);
     res.setHeader(LOCATION, url);
diff --git a/java/com/google/gitiles/doc/DocServlet.java b/java/com/google/gitiles/doc/DocServlet.java
index ca83ae0..0cbea50 100644
--- a/java/com/google/gitiles/doc/DocServlet.java
+++ b/java/com/google/gitiles/doc/DocServlet.java
@@ -95,7 +95,7 @@
       try {
         root = rw.parseTree(view.getRevision().getId());
       } catch (IncorrectObjectTypeException e) {
-        throw new GitilesRequestFailureException(FailureReason.INCORRECT_OBJECT_TYPE);
+        throw new GitilesRequestFailureException(FailureReason.INCORRECT_OBJECT_TYPE, e);
       }
 
       MarkdownFile srcmd = findFile(rw, root, path);
diff --git a/tools/BUILD b/tools/BUILD
index ab2b9b3..5cfe48c 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -82,6 +82,7 @@
         "-Xep:TypeParameterUnusedInFormals:ERROR",
         "-Xep:URLEqualsHashCode:ERROR",
         "-Xep:UnsynchronizedOverridesSynchronized:ERROR",
+        "-Xep:UnusedException:ERROR",
         "-Xep:WaitNotInLoop:ERROR",
         "-Xep:WildcardImport:ERROR",
     ],