Merge "Also add suppressed exception if unchecked exception occurs in finally"
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
index 666e9d8..9508f3f 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
@@ -1723,6 +1723,11 @@ private void parallelDeltaSearch(ProgressMonitor monitor,
 						}
 						throw new IOException(JGitText
 								.get().packingCancelledDuringObjectsWriting, e);
+					} catch (Throwable e) {
+						if (e1 != null) {
+							e.addSuppressed(e1);
+						}
+						throw e;
 					}
 				}
 			}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java
index f02160e..c510194 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java
@@ -111,7 +111,7 @@ void execute(ProgressMonitor monitor, FetchResult result,
 				for (PackLock lock : packLocks) {
 					lock.unlock();
 				}
-			} catch (IOException e) {
+			} catch (Throwable e) {
 				if (e1 != null) {
 					e.addSuppressed(e1);
 				}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java
index ed8f450..cc6c252 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java
@@ -530,9 +530,10 @@ private boolean downloadPackedObject(final ProgressMonitor monitor,
 				// are unusable and we shouldn't consult them again.
 				//
 				try {
-					if (pack.tmpIdx != null)
+					if (pack.tmpIdx != null) {
 						FileUtils.delete(pack.tmpIdx);
-				} catch (IOException e) {
+					}
+				} catch (Throwable e) {
 					if (e1 != null) {
 						e.addSuppressed(e1);
 					}