From 19293add844cdc972153e1f81e0aac32833660ed Mon Sep 17 00:00:00 2001 From: Masaya Suzuki Date: Thu, 7 Nov 2019 17:40:25 -0800 Subject: [PATCH] transport: Move exception handler to the caller Move exception handling code to the caller side. This is a preparation for adding a custom error handler that is similar to UploadPack. Note that `catch (Throwable t)` will not affect the exception spec since Java will do an analysis of rethrown exceptions. See https://docs.oracle.com/javase/8/docs/technotes/guides/language/catch-multiple.html. Change-Id: I973a63d4b079c2cd1402afb3f2956e18b7d5a00c Signed-off-by: Masaya Suzuki --- .../eclipse/jgit/transport/ReceivePack.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java index c92c370a0..8cafe775a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java @@ -1373,15 +1373,9 @@ public class ReceivePack { if (hasCommands()) { readPostCommands(pck); } - } catch (PackProtocolException e) { - discardCommands(); - fatalError(e.getMessage()); - throw e; - } catch (InputOverLimitIOException e) { - String msg = JGitText.get().tooManyCommands; + } catch (Throwable t) { discardCommands(); - fatalError(msg); - throw new PackProtocolException(msg); + throw t; } } @@ -2180,7 +2174,18 @@ public class ReceivePack { getAdvertisedOrDefaultRefs(); if (hasError()) return; - recvCommands(); + + try { + recvCommands(); + } catch (PackProtocolException e) { + fatalError(e.getMessage()); + throw e; + } catch (InputOverLimitIOException e) { + String msg = JGitText.get().tooManyCommands; + fatalError(msg); + throw new PackProtocolException(msg); + } + if (hasCommands()) { Throwable unpackError = null; if (needPack()) {