Browse Source

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 <masayasuzuki@google.com>
tags/v5.7.0.202001151323-m1
Masaya Suzuki 4 years ago
parent
commit
19293add84
1 changed files with 14 additions and 9 deletions
  1. 14
    9
      org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java

+ 14
- 9
org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java View File

@@ -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()) {

Loading…
Cancel
Save